代码之家  ›  专栏  ›  技术社区  ›  user2517182

bash IFS awk 2美元

  •  -1
  • user2517182  · 技术社区  · 7 年前

    我怎么用 IFS awk $2 同一行上的值?

    前任。

    array=(
      element:5001
      element:5002
      element:5003
      element:5004
    )
    IFS=':'
    for i in "${array[@]}"
      do
      set -- $i
    
      part1=$1
      part2=$2
    
      cd $part1
      # this following line is where I am having the issue.
      # $2 equal to part2 from the string split, but the $2 to be
      # awk value for $2
      echo "$(ps aux | grep '[s]omething --port '$2'' | awk '{print $2}')"
      # use part2 later in code
    done
    

    $2 分开。

    注意:我看过一篇关于使用 -v 带的选项 但我相信那是你想要设定一个值来对抗awk的时候。我想打印 $2 生成自 .

    1 回复  |  直到 7 年前
        1
  •  1
  •   user2517182    7 年前

    感谢@Barmar和@l0b0。

    ...
    echo $(ps aux | grep '[s]omething --port '$2 | awk '{print $2}')
    ...