我在一个目录中有文件:
1.txt
2.txt
3.txt每个文件一行,并且在每个文件的末尾没有换行符。如何将这些文件合并成一个在每个文件末尾有一个断行的文件?
如果我运行:
cat 1.txt 2.txt 3.txt > 123.txt文件被合并,但所有内容变成一行,这是因为在原始行中没有换行符。如何在合并的每一行中添加换行?
发布于 2017-08-19 14:26:18
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如此简单以至于不会做你想做的事情(部分原因是人们使用它来处理非文本的数据)。
https://stackoverflow.com/questions/45768396
复制相似问题