我的文件输出如下:
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
**请注意,最后两台服务器有" _"但是是独一无二的...所以我想保留它们。
答案 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