我有一个包含视频文件和字幕的庞大目录,现在我通常有3个不同的子文件,这是不正确的。
videofilename.srt
videofilename.en.srt
videofilename.sv.srt
英文字幕,然后是英文字幕(再次),然后是瑞典语。现在我的视频播放器不会识别所有三个,因为它有两个不同的标准(有和没有语言)。
所以我想要删除所有拥有videofilename.srt的文件,但是我该如何创建一个find命令?
find . -type f -name '*[^\...]\.srt'
似乎不起作用。
帮助?
答案 0 :(得分:1)
您可以使用-regex
中的find
查找没有语言部分的文件:
find . -regex '\./[^.]*\.srt$'
./videofilename.srt
如果您想忽略所有*.en.srt
和*.sv.srt
,请使用:
find . -name '*.srt' -not \( -name '*.en.srt' -o -name '*.sv.srt' \)
./videofilename.srt