Это должно помочь Вам:
find . -iname '*.pdf' -exec bash -c '[[ -f $(echo $(echo {}|sed "s/pdf/jpg/")) ]] || echo $(echo {}|sed "s/pdf/jpg/") not found' \;
Будут отражены файлы PDF, которые не имеют соответствующих файлов JPG.
Вам не нужно также cat
или xargs
для этого: простое read
в цикле был бы достаточен:
while read -r IP;do
ssh me@$IP echo "text" > file
reboot
done < ips.txt
Для дальнейшего использования, для чего Вы хотите xargs
может быть достигнут с -I
опция: Вы предоставляете имя после -I
и любые экземпляры того имени в самой команде будут заменены аргументами xargs
получает на канале:
... | xargs -L 1 -I myip ssh me@myip 'echo "text">file;reboot'
С Параллелью GNU можно сделать это параллельно:
parallel --slf ips.txt --nonall 'echo "text" > file; reboot;'
-I
ранее, который на самом деле перезагружал мой сервер по ошибке по некоторым причинам :) спасибо, это очень полезно! – d-_-b 25.12.2013, 00:55xargs
команда. Для предотвращения этого заключите аргументы в кавычки:... shh me@myip 'echo text > file;reboot'
– Joseph R. 25.12.2013, 01:05