我有一个包含大约 10 个文件的目录,我想从所有这些文件的名称中删除最后三个字符。有人知道可以执行此操作的终端命令吗?
另外,我该如何将所有这些文件的名称中的字符更改为小写?
答案1
您可以使用rename
。使用以下命令安装:
sudo apt install rename
从当前目录中的所有文件名中删除最后三个字符:
rename 's/...$//' *
将当前目录中所有文件的名称中的字符更改为小写:
rename 'y/A-Z/a-z/' *
更多信息请参见man rename
。
答案2
删除最后 3 个字符:
for i in *
do
j=`echo $i | sed -e 's/...$//'`
mv $i $j
done
将名称更改为小写:
for i in *
do
j=`echo $i | tr A-Z a-z`
mv $i $j
done
答案3
你bash
可以使用Shell 参数扩展:
单线
for filename in *; do newname=${filename:0:-3}; newname=${newname,,}; mv "$filename" "$newname"; done
多行带注释
#!/bin/bash
# Loop through all files in the directory
for filename in *; do
# Remove the last three characters from the name
newname=${filename:0:-3}
# Convert to lowercase
newname=${newname,,}
# Rename the file by moving it
mv "$filename" "$newname"
done