删除同名文件

删除同名文件

我的文件夹中有很多 *.srt 文件。问题是我多次保存了同一个文件,只是名称略有不同。

像这样:

one_piece_001_美国.srt
one_piece_SPECIAL_001_US.srt
one_piece_002_美国.srt
one_piece_003_美国.srt
one_piece_SPECIAL_003_US.srt
海贼王_004_美国.srt
one_piece_SPECIAL_004_US.srt
海贼王_005_美国.srt
海贼王_006_美国.srt
海贼王_007_美国.srt
one_piece_SPECIAL_007_US.srt

我想删除所有“one_piece_SPECIAL_*_US.srt”文件使用 shell。

答案1

如果特殊文件名遵循示例中的名称格式,则可以使用

rm -i [DVD]_ONE_PIECE_*_SPECIAL_*US.srt

-i是交互模式,因此它总是询问您是否要删除该文件,因此您需要y为每个特殊文件按 15 次,这样您就不会意外删除错误的文件,如果您想保留其他同名格式的文件。

如果你不想被要求输入每个文件,你可以-f输入-i

答案2

遍历每个文件,然后搜索文件名是否包含子字符串特别的在其中。如果存在。使用 rm 命令将其删除。

/bin/bash #!/bin/bash

对于 *.srt 中的文件;执行
    如果 [[ $file =~ .*SPECIAL.* ]]; 那么
        echo rm $文件
完毕

为了使上述代码正常工作...删除回声在第5

相关内容