如何删除文件名中的特定部分

如何删除文件名中的特定部分

我使用 Synology DS1515+ 和 DSM 6.2.2。

我想删除许多文件名称中的特定部分。

例如;

abcde(测试).mp4 → abcd.mp4

爱(1).mp4 → 爱.mp4

应删除文件名中从 ( 到 ) 的部分。

( 和 ) 之间的字母在许多文件中是不同的。

我怎样才能做到这一点?请帮我。

预先非常感谢您。

答案1

#!/bin/bash
for i in *; do
    echo "Old file: $i"
    new=$(echo "$i" | sed -e 's/\s*(.*)//g')
    echo "New file: $new"
done

旧文件:abc (csd).mp4 新文件:abc.mp4 旧文件:def(123).mp4 新文件:def.mp4

只需将 echo 替换为 mv "$i" "$new" 即可。

相关内容