труба в условно в командной строке - PullRequest
0 голосов
/ 30 декабря 2010

У меня есть проблема, которую я не мог понять, если это вообще возможно.Я анализирую файл с именами в нем и хочу проверить, соответствуют ли эти имена существующим файлам в системе.

Я нашел возможность проверить, существует ли файл:

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

Теперь моя проблема: как я могу перейти к условному тестированию всех имен файлов?

Я пытался, как tihs, но он не работал:

cat myfilenames.txt |Команда xargs сверху без FILENAME

Кто-нибудь знает, возможно ли это?

спасибо, dmeu!

Ответы [ 2 ]

1 голос
/ 30 декабря 2010
while read file; dp
        [ -e "$file" ] && echo "$file exists";
done <filelist.txt
0 голосов
/ 30 декабря 2010

Я верю, что вы хотите, чтобы цикл. Это сработало для меня в bash (я поместил его в скрипт оболочки, но вы, вероятно, могли бы сделать это в командной строке):

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

обратные метки вокруг кота выполняют команду и подставляют вывод в цикл.

...