当前位置: 技术问答>linux和unix
在shell中怎样将一个文件的内容插入到另一个文件
来源: 互联网 发布时间:2016-06-08
本文导语: 在shell中 我想将一个文件的内容添加到另一个文件的指定行: 例如: 文件A.txt内容: xiao ming xiao li B.txt内容: good people animal 将A.txt插入到B.txt的指定行 比如第2行,B.txt变为(或者将结果输入到第三个文件如C.txt也行): ...
在shell中 我想将一个文件的内容添加到另一个文件的指定行:
例如:
文件A.txt内容:
xiao ming
xiao li
B.txt内容:
good
people
animal
将A.txt插入到B.txt的指定行 比如第2行,B.txt变为(或者将结果输入到第三个文件如C.txt也行):
good
xiao ming
xiao li
people
animal
顺便问一下,怎样才能删除指定行?
到底怎样才能实现啊?谢谢了!!!期待ing....
例如:
文件A.txt内容:
xiao ming
xiao li
B.txt内容:
good
people
animal
将A.txt插入到B.txt的指定行 比如第2行,B.txt变为(或者将结果输入到第三个文件如C.txt也行):
good
xiao ming
xiao li
people
animal
顺便问一下,怎样才能删除指定行?
到底怎样才能实现啊?谢谢了!!!期待ing....
|
sed 和 awk 都能满足你的要求。
|
用循环反复插入一行不行吗?
|
文件不能从中间写入,能随意位置读出.
除非全部读到内存.
|
#!/bin/bash
echo "please enter the number of insert line:"
read numberLine
x=`sed -e 's/ /;/g' A.txt`
echo ${x} > A.tem
record=`sed -e 's/ /./g' A.tem`
sed -e ${numberLine}a${record} B.txt >B.tem
sed -e 's/;/ /g' -e 's/./n/g' B.tem | tee >C.txt
rm -f A.tem B.tem
echo "please enter the number of insert line:"
read numberLine
x=`sed -e 's/ /;/g' A.txt`
echo ${x} > A.tem
record=`sed -e 's/ /./g' A.tem`
sed -e ${numberLine}a${record} B.txt >B.tem
sed -e 's/;/ /g' -e 's/./n/g' B.tem | tee >C.txt
rm -f A.tem B.tem
|
打开B.txt
将光标定位到指定行
输入 :r A.txt
可以将A.txt的所有内容追加到光标行一下
将光标定位到指定行
输入 :r A.txt
可以将A.txt的所有内容追加到光标行一下
|
帮顶!!!
|
sed -e '2d' profile
#删除profile文件的第二行
sed -e '/^people/d' profile
#删除profile文件中以people开头的行
#删除profile文件的第二行
sed -e '/^people/d' profile
#删除profile文件中以people开头的行