按照401rani写的用 sed -ie '2r a.txt' b.txt 但是这个插入到第三行里去了。想让他在第二行,行尾不换行。不知道怎么操作,谢谢各位的回签。
用vim同时打开两个文件,在normal模式下按ctrl+v进入VISUAL BLOCK 模式,选中a.txt的内容,按y复制,把光标移到b.txt第一行最后一个字符,按p粘贴,然后保存退出,搞定。
给个示范:
追问首先谢谢您的回答,如果有100百个这样的文件,一个一个打开复制太麻烦了。有没有不打开文件直接插进去的方法 像echo a.txt >>b.txt这样子的。一行命令就能搞定的。谢谢
追答直接也有,你得学awk或者sed
你好,谢谢你的回复。依照你的做法。是将原来第二行变为了第三行。我想是在第二行结尾处加入内容。谢谢
追答不知道了,请高手吧
来自:求助得到的回答示例:将/etc/hosts文件与 a.txt 拼接(无缝对接)
第一步:新建一个c.txt
第二步:拼接 paste -d '' /etc/hosts a.txt|awk '{print $5 $6}'|head -1 >c.txt
第三步:重命名 mv c.txt /etc/hosts
注意:第二步 paste命令拼接的文件有先后顺序,先写在前,后写在后
head -1(小写的壹)是为查看效果,文件很大时不可能都显示
$5 $6 就是相当于表格中的列一样,$显示列的固定格式符号
每一列的分割依靠什么呢?这里取的是 空格,而默认情况下awk -F 取的就是
空格作为分隔符,所以就省略了;非要写可以这样 awk -F ' ' '{print . . .
(两个单引号中间加个空格)