找到那些带有下划线的文件,这些文件在 shell 中没有匹配的文件没有下划线?



我有像klein_parat-strong-aqua-stop.jpg这样的文件。例如,它们中的大多数都有一个对应项,所有下划线都替换为减号,klein-parat-strong-aqua-stop.jpg

然而,其中一些没有这种对应物。我想在文件夹(包括其子文件夹(中找到这些文件。我该怎么做?

谢谢!

试试这两个命令

for FF in `find . -type f -name "*_*" `;do echo $FF;done > list
for II in `<list`;do I=`basename $II`;F2=`echo $I | tr '_' '-'`;FOUND=`find . -name "$F2"`;[ "$FOUND" == "" ] && { echo $II; };done

基本思想是首先找到所有文件,然后测试对应文件的存在,如注释中所述:

for i in `find . -name '*_*'`
do
test -f "${i//_/-}" || echo "$i"
done

单行:

for i in `find . -name '*_*'`; do test -f "${i//_/-}" || echo "$i"; done

test -f file:检查file是否为普通文件。

相关内容

最新更新