如何从/ etc / services文件中提取所有服务?

时间:2018-10-19 15:01:14

标签: linux shell

我想从文件/etc/services中提取服务,问题是提取它们时,输入标题file.txt时得到以下输出:

acr-nema 
afbackup
afbackup 
afmbackup 
afmbackup
afpovertcp
afpovertcp
afs3-bos 7007

但是所需的输出应该如下:

acr-nema     104/udp     dicom
afbackup     2988/tcp    #
afbackup     2988/udp
afmbackup    2989/tcp    #
afmbackup    2989/udp
afpovertcp   548/tcp     #
afpovertcp   548/udp
afs3-bos     7007/tcp    #

我输入的命令如下:

cat /etc/services | sed '/^#/ d' | cut -d ' ' -f 1 | sort | awk '!a[$0]++' > file.txt

谢谢

1 个答案:

答案 0 :(得分:0)

尝试一下:

 awk '$0&&/^[^#]/&&!a[$0]++' /etc/services |sort

顺便说一句,不要执行cat aFile|awk '...',而是执行awk '...' file