bash IFS awk $ 2 - PullRequest
       23

bash IFS awk $ 2

0 голосов
/ 25 октября 2018

Как я могу использовать значения IFS и awk $2 в одной строке?

ex.

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 из IFS split.

Примечание: я видел сообщение об использовании опции -v с awk, но я считаю, что именно тогда вы хотите установить значение для запуска с awk.Я хотел бы напечатать $2, сгенерированный из awk.

1 Ответ

0 голосов
/ 25 октября 2018

Благодаря @Barmar и @ l0b0.

Мне нужно исправить свои кавычки.

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