linux:从txt的列表中查找文件,这些文件包含空格

我需要从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 [*]}”)

欢呼尼克