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

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。