我需要从txt列表中find文件(我已经有所有文件的txt,用行分隔),文件包含空格,文件的扩展名是pdf,如果你可以build议如何输出该命令或脚本到另一个txt文件。
我所尝试的(这一个检索目录中的所有文件,并包含空格,但只有现有的,我需要find不存在):
find . -type f -name *.pdf
提前感谢您的帮助。
#!/bin/bash while read -r FILE do FOUND="$(find . -name "$FILE" -print -quit)" if [ "x$FOUND" != "x" ] then echo "FOUND: $FILE" else echo "NOT FOUND: $FILE" fi done <filelist.txt
这比看起来更难
while read -r file do find . -name "$file" done <txt
将find存在的文件并为其打印完整path。 不幸的是发现套$? 到0 (SUCCESS)即使文件没有find。
我可以试着理解你的问题吗?
您有一个包含您正在search的文件名的列表。 你想要的文件列表还没有出现?
那是对的吗?
所以假设TEST是包含你的search列表的文件,那么你可以使用这个:
ALIST = $(cat TEST | sort); BLIST = $(ls -1 | sort); comm -3 <(echo“$ {ALIST [*]}”)<(echo“$ {BLIST [*]}”)
欢呼尼克