我在目录中有文件:
1.txt
2.txt
3.txt
每个文件一行,每个文件末尾没有中断行。如何将这些文件合并为一个文件末尾的断行?
如果我跑:
cat 1.txt 2.txt 3.txt > 123.txt
文件已合并,但由于原始行中没有断行,所有内容都变为一行。如何在合并中添加中断每一行?
答案 0 :(得分:0)
echo > /tmp/line
cat 1.txt /tmp/line 2.txt /tmp/line 3.txt /tmp/line > 123.txt
或者:
{ cat 1.txt && echo && cat 2.txt && echo && cat 3.txt && echo; } > 123.txt
或者:
awk '{print}' {1,2,3}.txt > 123.txt
或者:
grep -h '' {1..3}.txt > 123.txt
或者:
cut -c 1- 1.txt 2.txt 3.txt > 123.txt
或者:
sed '' *.txt > 123.txt
实际上任何面向行的文本过滤器都可以,因为他们都知道如何处理最后缺少换行符的文件。只有cat
非常简单,不能做你想做的事情(部分原因是人们将它用于不是文本的数据)。