我想删除文件并删除括号中的任何内容
现在我有档案:
123-456(434).JPG
454-6hf(32).JPG
99 ggr4(44335).JPG
重命名为:
123-456.jpg
454-6hf.jpg
99-ggr4.jpg
答案 0 :(得分:1)
此bash脚本将文件移动为名称:
#!/bin/bash
for f in *.jpg; do
if [[ $f =~ ([^\)]+)\([^\)]+\)(.*) ]]; then
mv "$f" "${BASH_REMATCH[1]}${BASH_REMATCH[2]}";
fi
done
原件:
ls [14] *
123-456(434).jpg 454-6hf(32).jpg
发表:
ls [14] *
123-456.jpg 454-6hf.jpg
注意:如果所有文件都以数字开头,您可以调整*.jpg
或匹配以确保仅限于这些文件。例如,上面的示例会将myfile(123).jpg
移至myfile.jpg
。更改为[0-9]*.jpg
将仅限于以数字开头的.jpg文件。