使用Awk命令行以逗号分隔打印列

use*_*728 58 csv awk

我这里有问题.我必须使用awk在文本文件中打印一列.但是,列根本不用空格分隔,只使用一个逗号.看起来像这样:

column1,column2,column3,column4,column5,column6
Run Code Online (Sandbox Code Playgroud)

如何使用awk打印第3列?

SMA*_*SMA 92

尝试:

awk -F',' '{print $3}' myfile.txt
Run Code Online (Sandbox Code Playgroud)

这里在-F你说awk使用","作为字段分隔符.


Tom*_*ech 35

如果你唯一的要求是打印每一行的第三个字段,每个字段用逗号分隔,你可以使用cut:

cut -d, -f3 file
Run Code Online (Sandbox Code Playgroud)
  • -d, 将分隔符设置为逗号
  • -f3 指定仅打印第三个字段


Jot*_*tne 20

试试这个 awk

awk -F, '{$0=$3}1' file
column3
Run Code Online (Sandbox Code Playgroud)
  • , 划分字段 ,
  • $0=$3 将该行设置为仅字段 3
  • 1全部打印出来.(在这里解释)

  • 除了缩短之外,对于不熟悉awk的人来说,这更难理解.值得添加一些解释来使这个答案更有用. (4认同)
  • @TrueY被授予了,虽然有一个区别是`cut --help`会解释你需要知道的一切,而`awk --help`却不会.也许我应该选择`cut --delimiter =, - fields = 3 file`,虽然我怀疑更长的开关是否便携:) (3认同)