BASH删除包含一些字符的行

时间:2017-09-20 14:01:06

标签: bash sed character lines

我的文件输出如下:

server1
server2
server1_server2
server3
server4
server5
server6
server5_server6
server7
server8
server_prod
server_test
.....

我正在搜索删除已包含在_行中的行。输出应为:

server1_server2
server3
server4
server5_server6
server7
server8
server_prod
server_test

**请注意,最后两台服务器有" _"但是是独一无二的...所以我想保留它们。

1 个答案:

答案 0 :(得分:1)

这个awk单行可以帮助你:

awk -F'_' 'NR==FNR{if(NF>1)for(i=1;i<=NF;i++)a[$i]=1;next} !a[$0]' file file
server1_server2
server3
server4
server5_server6
server7
server8