我打算使用shell脚本将文件的某些行复制到另一个文件中的指定位置。我只知道一个命令:
cat A >> B
但是,它只适用于复制文件A的所有行并将它们粘贴到结束文件B.相反,我想在文件B的中间插入文件A中的内容。
档案A:
aaa
bbb
ccc
ddd
档案B:
AAA
BBB
CCC
然后将文件A的第2-3行复制到第2行之后的文件B中:
AAA
BBB
bbb
ccc
CCC
换句话说,我想在任何时候将文件的一些连续行插入另一个文件中。我怎么能这样做?
答案 0 :(得分:2)
我不确定任何命令,但我有解决方法,
如果您知道要添加内容的行号,那么为什么不使用头部和尾部命令
假设您想要在第3行的某个文件A中添加aaa A就像,
AAA
BBB
CCC
DDD
然后
head -n 2 > B # this will copy first 2 lines
echo "aaa" >> B # your desired string at line no 3
tail -n 2 >>B # remaining lines into file
而不是尾巴,你可以尝试
'sed 1,2d' A >> B
或
awk 'NR>2' A >> B
用于将剩余行写入B
这可以用于较小的文件,但对于较大的文件会很重
答案 1 :(得分:0)
好吧,如果你有标准的Linux工具,你可以说
paste -d "\n" A B