linux系统中添加空行
1、在所有行后面添加空行,awk实现
root@PC1:/home/test# ls a.txt root@PC1:/home/test# cat a.txt i 3 a d g x 8 6 k m x a a y n root@PC1:/home/test# awk '{print $0, "\n"}' a.txt i 3 a d g x 8 6 k m x a a y n
2、在指定行后添加空行, awk实现
root@PC1:/home/test# ls a.txt root@PC1:/home/test# cat a.txt i 3 a d g x 8 6 k m x a a y n root@PC1:/home/test# awk '{if(NR == 3) {print $0, "\n"} else {print $0}}' a.txt i 3 a d g x 8 6 k m x a a y n
3、利用正则匹配添加空行, awk实现
root@PC1:/home/test# ls a.txt root@PC1:/home/test# cat a.txt i 3 a d g x 8 6 k m x a a y n root@PC1:/home/test# awk '{if($0 ~ /x/ ) {print $0, "\n"} else {print $0}}' a.txt i 3 a d g x 8 6 k m x a a y n
4、行首、行尾添加空行 awk实现
root@PC1:/home/test# ls a.txt root@PC1:/home/test# cat a.txt i 3 a d g x 8 6 k m x a a y n root@PC1:/home/test# awk 'BEGIN{printf("\n")}{print $0}' a.txt i 3 a d g x 8 6 k m x a a y n root@PC1:/home/test# awk '{print $0} END {printf("\n")}' a.txt i 3 a d g x 8 6 k m x a a y n root@PC1:/home/test# awk 'BEGIN{printf("\n")}{print $0} END {printf("\n")}' a.txt i 3 a d g x 8 6 k m x a a y n
5、指定行 批量添加 sed实现
root@PC1:/home/test# ls a.txt b.txt root@PC1:/home/test# cat a.txt i 3 a tagx@d g x tagx@8 6 k m x a tagx@a y n root@PC1:/home/test# cat b.txt 2 3 5 root@PC1:/home/test# for i in `cat b.txt`; do sed "$i s/^/tagx@/" a.txt -i; done ## 加个标签
root@PC1:/home/test# cat a.txt i 3 a tagx@tagx@d g x tagx@tagx@8 6 k m x a tagx@tagx@a y n root@PC1:/home/test# sed '/^tagx/G' a.txt i 3 a tagx@tagx@d g x tagx@tagx@8 6 k m x a tagx@tagx@a y n