假设文件A中的I包含以下内容
1 <div class="a"></div>
2 <div class="b"></div>
3 <div class="c"></div>
4 <div....
5 ...
6 ...
7 ...
8 ...
9 <div class="i"></div>我包含了实际上不存在的行号。
我的脚本中有两个名为start_line和end_line的变量,这两个变量包含我希望开始替换的行和希望结束替换的行
然后我有一个文件B,它也是一个名为export的变量,它包含一些文本,也是HTML标签(EDIT:认为这是无关紧要的-但看起来并非如此)
当我知道这些数字是变量,并且想要将它们替换为文件的内容时,如何将文件A中的所有内容从第4行替换到第7行?文件的内容也是一个变量(我猜可以是文件位置,也可以是相同的cat变量)。
我一直在胡乱摆弄sed和range的东西-n,但是...还有一些awk --但这里是shell和bash中的全部n00b
到目前为止,我已经尝试过了(变量名不一样,但我希望应该有意义
sed "-n${start_line},${end_line} s/${stump_text}" "$export_file"编辑:糟糕的是,我没有通知实际被替换的文本是HTML
发布于 2016-10-27 19:14:03
在awk中:
$ cat foo.awk
NR==start { # at start, output fileB.txt
while (getline < file)
print }
NR>=start && NR <= end { next } # between start and end do nothing
1 # print运行它:
$ fileb=fileb.txt; start=4; end=7 # your values into variables
$ awk -v file=$fileb -v start=$start -v end=$end -f foo.awk fileA.txthttps://stackoverflow.com/questions/40282310
复制相似问题