如何连接文件,排除空文件?

Tom*_*mba 3 linux bash shell-script

我需要将很多.txt文件粘贴在一起。我使用这个命令:

cat *.txt > newfile.txt 
Run Code Online (Sandbox Code Playgroud)

我注意到其中一些文件是空的。如何在脚本中插入控件以防止该控件cat作用于这些空文件?

谢谢你。

Bul*_*Bob 10

不是真的有必要,但如果您需要排除空文件:

for i in *.txt; do [ "$i" != newfile.txt ] && [ -s "$i" ] && cat -- "$i"; done >newfile.txt
Run Code Online (Sandbox Code Playgroud)

-s给定文件是否存在,并且不为空的考验将是真实的(这是一个标准的测试,见man test)。我们还避免处理输出文件本身。