我有一个文件列表。他们遵循这种模式:_000n_NAME.PNG(文件编号为 n)
在终端(Linux 或 Mac OS)中,是否可以在单个命令中删除我所有文件的“ 000n ”?
你可以使用它:
find . -iname '_000n*.png' | sed -e 's/\(_000n_\(.*.png\)\)/\1 \2/g' | xargs -n 2 mv
用_000n_toto1.png
,_000n_toto2.png
和文件夹中的其他文件进行测试
Sed 可以完成这项工作:
sed 's/^_[0-9]*\(_.*\)$/_\1/'
如果您还想去除下划线(数字前后):
sed 's/^_[0-9]*_\(.*\)$/\1/'
完整脚本:
while read f; do
mv "$f" $(echo "$f"|sed 's#^.*_[0-9]*_\(.*\)$#\1#')
done < <(find . -name "_0*_NAME.PNG")