0

我是 UNIX 新手,请帮忙。

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

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

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

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

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

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

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

注意:文件内容是动态的,我正在通过另一个脚本生成这个文件。

4

2 回答 2

0

假设你的文件是

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

一个快速的解决方案是

  cat myList | xargs ls -ltr

如果找不到文件,则输出ls将向标准输出抱怨

ls: xxx: No such file or directory

IHTH

于 2013-01-17T14:46:04.667 回答
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`

`

于 2013-01-23T07:29:11.557 回答