
使用 awk 命令。例如,你可以使用以下命令来输出文件中的行号:
awk '{print NR}' file
使用 sed 命令。例如,你可以使用以下命令来输出文件中的行号:
sed -n '=' file
使用 bash 的内建变量 $LINENO。例如,你可以使用以下命令来输出文件中的行号:
while read -r linedo
echo "$LINENO"
done <file
上述方法均可以用于输出行号,但不输出内容。如
首先得到最后一个</bean>所在行的行号:
line=`sed -n '/<\/bean>/=' xx.xml | tail -n1`然后在该行最前面添加<bean>:
sed -i "${line}s/.*/<bean>&/" xx.xml(利用sed的 -i 选项直接修改原文件)
原文件:
现在要在第二行即“bbbb”行的下面添加一行,内容为“xiaowu”
如果要加两行“xiaowu”可以用一下语句,注意用“\n”换行
如果要在第二行即“bbbb”行的上添加一行,内容为“xiaowu”,可以把参数“a”换成“i”
以上文件中只有一行匹配,如果文件中有两行或者多行匹配,结果有是如何呢?
由结果可知,每个匹配行的下一行都会被添加“xiaowu”
那么如果指向在第二个“bbbb”的下一行添加内容“xiaowu”,该如何 *** 作呢?
可以考虑先获取第二个“bbbb”行的行号,然后根据行号在此行的下一行添加“xiaowu”
获取第二个“bbbb”行的行号的方法:
方法一:
方法二:
由结果可知第二个“bbbb”行的行号为4,然后再在第四行的前或后添加相应的内容:
向指定行的末尾添加指定内容,比如在“ccccc”行的行尾介绍“ eeeee”
原文链接
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)