shell 如何覆盖方便文件,又不改变被覆盖文件的eol

赵占涛 发布于 2016/04/29 12:25
阅读 102
收藏 0
有a.txt和b.txt两个文本文件,如何把a.txt里的文件内容写到b.txt里去又不改变b.txt文件的eol(b.txt的eol固定且必然为unix)
加载中
0
这里有一只羊
这里有一只羊
要打算保持统一,就得先转换再合并文件。可以用dos2unix/unix2dos来完成这个转换
0
一碗粥
一碗粥
先把b.txt读到buffer, 用a.txt的内容修改buffer, 但是不要改变buffer的大小, 再把buffer写回b.txt去.
赵占涛
赵占涛
我找到了一个命令,可以直接将win换行符转成unix换行符,命令叫做dos2unix。这个满足我的需求的。
赵占涛
赵占涛
然而,我理解不了你的这些步骤。什么叫用a修改buffer的内容
0
这里有一只羊
这里有一只羊

直接追加文件,不会改变文件的换行符。例如:

a.txt (windows换行符)

b.txt(unix换行符)

cat a.txt >> b.txt

此时b.txt的内容只是b+a内容的合集。混合着windows和unix换行符号,就不能单一的说这个文件中换行符是某一种了。用file命令查看这种文件的类型时也会打出:

      ASCII text, with CRLF, LF line terminators

这样的双重换行符的信息。

这里有一只羊
这里有一只羊
要是覆盖的话,也得执行转换换行符
赵占涛
赵占涛
我找到了一个命令,可以直接将win换行符转成unix换行符,命令叫做dos2unix。这个满足我的需求的,
这里有一只羊
这里有一只羊
@赵占涛 就是合并文件
赵占涛
赵占涛
什么叫追加文件
返回顶部
顶部