检查目录中是否存在多个文件

时间:2013-01-17 14:43:10

标签: shell unix

我是UNIX的新手,请帮助。

我有一个有很多行的文件,每行都是文件名。

现在我想检查每个文件是否存在于带有一些前缀的另一个目录中。

例如,我的文本文件内容是

abc.def.ghi.jkl
mno.pqr.stu.vwx

我想测试目录中是否存在每个文件,例如

cd <search directory>
ls -ltr *abc.def.ghi.jkl* 

如果上述结果为false,则抛出错误。

注意:文件内容是DYNAMIC,我通过另一个脚本生成此文件。

2 个答案:

答案 0 :(得分:0)

假设您的文件是

$ cat myList
abc.def.ghi.jkl
mno.pqr.stu.vwx

快速解决方案

  cat myList | xargs ls -ltr

如果找不到文件,ls的输出将通过

向stdout投诉
ls: xxx: No such file or directory

IHTH

答案 1 :(得分:0)

这是预期的答案

`ls -l > temp.cat
for i in $(cat temp.txt)
do
        ls -l *$i*
        if [[ $? -eq 0 ]]
        then
        echo " File found"
        else
         echo " File not found for $i"
        fi
done
rm -f temp.txt`

`