2017-05-16 114 views
0

列我有一个UNIX文件是这样的打印从Unix文件

Name : abc 
Name : def 
Value : 123 
Value_old : 456 

我想打印ABC,DEF,123456个only.I现在用awk -F'' '{print $3}' file但它返回不正确的结果。

+0

将其更改为'awk的-F: '{打印$ 2}''那么它应该工作。尽管 – Thor

+0

使用'cut'效率更高我很好奇 - 您认为'-F'''会做什么?为什么? –

回答

0
awk '{print $3}' file 

所做的工作。

3

你可以使用切:

cut -d':' -f2 
1
awk -F'' '{print $3}' 

将无法​​正常工作。

  • -F是分隔符,在这里很明显,它应该是:
  • $3意味着列3,在你的输入,只有两列

所以应该awk -F':' '{print $2}'

有有很多方法可以获得您的输入,例如cut在其他答案中。

此外,grep的:

grep -o '[^:]*$' 

的sed:

sed 's/[^:]*://' 
0

变化分隔符:

awk -F": " '{print $2}' filename