我想从文件/etc/services中提取服务,问题是在提取服务时,当输入headfile.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

谢谢你

最佳答案

试试看:

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

顺便说一下,不要做cat aFile|awk '...'而要做awk '...' file

08-24 19:32