Bash迭代每一行并使用每行的第一个单词和第二个单词运行命令

时间:2016-11-16 04:51:40

标签: bash

我有一个解析文件的函数,并将其归结为存储在变量中的以下输出

option1 value1
option2 value2
option3 value3
etc...

我需要遍历每一行并运行一个命令,该命令在每一行上使用两个值。以下是我正在考虑的事情

for each line in "$var"; do
    command "$first_word $second_word"
done

我该怎么做?

1 个答案:

答案 0 :(得分:4)

BashFAQ #1while read循环是该作业的合适工具:

while read -r first_word second_word rest; do
  your_command "$first_word" "$second_word"
done <<<"$var"

请注意rest的使用 - 占位符(_也很常见)意味着第二个之后的单词也不会放在second_word变量中。