我正在写一个 sh 文件我有这个命令
cp test/*.txt NewDirectory/
据我了解,它将在测试文件夹中一一进行
1.txt
2.txt
5.txt
6.txt
但不会复制
3.txt
4.txt
因为他们不在那里
我需要它打印出或在日志文件中找不到或无法复制到新文件夹的文件。我怎么做 ?
答案1
你的理解是不正确的。如果只有 1,2,5,6,则如果这些文件复制成功,则不会出现错误消息。如果您需要解析氮文件夹中的 number 或 txt 文件,并查看哪些不存在,您可以执行以下操作:for x in {1..10}; do cp $x.txt NewDirectory/;done
。此外,您可以附加> output.log
将命令输出重定向到文件。
答案2
和cp test/*.txt NewDirectory/ 2>./output.log
但cp
with * 命令必须复制存在的文件,因此如果文件不存在,则不会显示显示错误