我有一个看起来像这样的文本文件:
domain name pointer www.google.com
domain name pointer www.gmail.com
NA
domain name pointer www.facebook.com
NA
NA
NA
domain name pointer www.starbucks.com
如果我使用这些命令:
grep "pointer" inputfile.txt | awk '{print $4}'
grep "NA" inputfile.txt | awk '{print $1}'
我能得到:
www.google.com
www.gmail.com
www.facebook.com
www.starbucks.com
NA
NA
NA
NA
但是我希望'NA'和URLS保持与原始文本文件相同的顺序。
答案 0 :(得分:2)
没有必要使用grep
,因为awk
可以单独进行模式匹配。然后,您不需要对文件使用多次传递:
awk '/pointer/ {print $4}
/NA/ {print $1}' inputfile.txt
答案 1 :(得分:1)
如果其中一个不是你所需要的:
$ awk '{print $NF}' file
www.google.com
www.gmail.com
NA
www.facebook.com
NA
NA
NA
www.starbucks.com
$ sed 's/.* //' file
www.google.com
www.gmail.com
NA
www.facebook.com
NA
NA
NA
www.starbucks.com
然后编辑您的问题以阐明您的要求,并提供更具真实代表性的样本输入/输出。