管道进入条件命令行

时间:2010-12-30 14:05:06

标签: command-line conditional pipe

我有一个问题,我无法弄清楚它是否可能。我正在解析其中包含文件名的文件,并想检查这些文件名是否代表系统中的现有文件。

我想出了检查文件是否存在的可能性:

 [ -f FILENAME ] && echo "File exists" || echo "File does not exists"

现在我的问题是:我如何管理它测试所有文件名的条件?

我正在尝试,但它不起作用:

  

cat myfilenames.txt |上面没有FILENAME的xargs命令

有人知道是否有可能吗?

谢谢,dmeu!

2 个答案:

答案 0 :(得分:1)

while read file; dp
        [ -e "$file" ] && echo "$file exists";
done <filelist.txt

答案 1 :(得分:0)

我相信你想要的是一个for循环。这在bash中对我有用(我把它放在一个shell脚本中,但你可以在命令行中执行它):

for i in  `cat $1` ; do
    [ -f $i ] && echo File $i exists || echo File $i does not exist 
done

cat周围的反引号执行命令并将输出替换为循环。