Вывести лог файл с ошибкой от команды cp

Я пишу файл sh У меня есть эта команда

cp test/*.txt NewDirectory/

насколько я понимаю, она будет проходить один за другим в папку test

1.txt
2.txt
5.txt
6.txt

но не копирует

3.txt
4.txt

потому что их там нет

Мне нужно, чтобы она выводила или в лог файл файлы, которые она не смогла найти или не смогла скопировать в новую папку. Как мне это сделать?

-2
27.04.2016, 17:12
2 ответа

с cp test/*.txt NewDirectory/ 2>./output.log

но команда cp с * будет вынуждена копировать файлы, которые существуют, и поэтому не покажет ошибку, если файлы не существуют

0
28.01.2020, 05:17

Ваше понимание неверно. Если существуют только 1,2,5,6, то в случае успешного копирования этих файлов сообщения об ошибке не будет. Если вам нужно разобрать N число или количество txt файлов в папке и посмотреть, какие из них не существуют, вы можете сделать что-то вроде: for x in {1..10}; do cp $x.txt NewDirectory/;done .Далее вы можете добавить > output.log, чтобы перенаправить вывод команды в файл.

1
28.01.2020, 05:17

Теги

Похожие вопросы