什么sed命令允许我在每行的末尾添加一个字符串,在第一行的开头添加不同的字符串,在第五行的末尾添加不同的字符串?
到目前为止我已经
了 sed 's/$/<br>/' $FILE1 >> $FILE1_GETS_APPENDED_TO_THIS_FILE
将html break语句附加到file1中每行的末尾。我需要在前5行附近添加一个头语句。因此,第一行的开头需要附加<h3>
,并且第五行的末尾需要</h3>
附加到它。
谢谢!
答案 0 :(得分:2)
在sed命令之前添加一个数字,仅将其应用于该行。添加两个用逗号分隔的数字以指定行号范围。 $
代表最后一行。有关详细信息,请参阅sed手册中的“地址”。
sed -e '1 s/^/<h3>/' -e '5 s/$/<\/h3>/' -e '6,$ s/$/<br>/'
答案 1 :(得分:2)
就这么简单:
sed 's/$/<br>/; 1 s/^/<h3>/; 5 s/$/<\/h3>/'
当您使用$
来匹配行尾时,请使用^
来匹配行的开头。
然后,对于您的每个命令(例如s
),您可以指定应该应用的行号(或范围)。
答案 2 :(得分:1)
我喜欢awk这种东西:
awk 'NR==1{print "<h3>"};{print $0, "<br>"};NR==5{print "</h3>"}' file.htm
答案 3 :(得分:0)
查看&#34;地址&#34;在sed
手册中。您可以指定应该应用命令的行号:
sed '5s/$/Appended after fifth line/'