【问题标题】:how to print nth column in a file using awk [duplicate]如何使用awk打印文件中的第n列[重复]
【发布时间】:2018-04-11 04:54:36
【问题描述】:

如何使用awk打印文件中的第n列?要打印文件的第二列,我尝试:

#!/bin/bash   
awk '{print $2}' file

但是如果n是一个变量,如何使用awk打印文件的第n列?

#!/bin/bash   
n=2

【问题讨论】:

  • 嗨,awk '{n=2; print $n} 文件
  • 这是一个骗子,你可以在Awk 中看到很多关于使用 shell 变量的主题的类似问题。标题可能暗示 awk 脚本,但都是一样的,在脚本(或)命令中使用 shell 变量

标签: linux bash awk


【解决方案1】:
n=2
awk -v var="$n" '{print $var}' file

【讨论】:

    【解决方案2】:

    试试这个,注意-v 选项:

    #!/bin/bash
    
    n=3
    
    awk -v x=${n} '{print $x}' file
    

    来自手册页:

    The option -v followed by var=value is an assignment to be done before 
    prog is executed; any number of -v options may be present.
    

    更多示例,您可以查看Using Shell Variables in Programs

    【讨论】:

      猜你喜欢
      • 2017-04-23
      • 2023-02-04
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 2013-08-23
      相关资源
      最近更新 更多