我是 UNIX 新手,请帮忙。
我有一个文件有很多行,每一行都是一个文件名。
现在我想检查每个文件是否存在于另一个带有一些前缀的目录中。
例如,我的文本文件内容是
abc.def.ghi.jkl
mno.pqr.stu.vwx
我想测试每个文件是否存在于目录中,例如
cd <search directory>
ls -ltr *abc.def.ghi.jkl*
如果上述结果为假,则抛出错误。
注意:文件内容是动态的,我正在通过另一个脚本生成这个文件。
假设你的文件是
$ cat myList
abc.def.ghi.jkl
mno.pqr.stu.vwx
一个快速的解决方案是
cat myList | xargs ls -ltr
如果找不到文件,则输出ls
将向标准输出抱怨
ls: xxx: No such file or directory
IHTH
这是预期的答案
`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`
`