web-dev-qa-db-ja.com

ファイルから列を個別の変数に読み込む

次の入力を変数として別の列に読み込む必要がありますか? input.txt

b73_chr10   w22_chr9
w22_chr7    w22_chr10
w22_chr8    w22_chr6

私は次のコマンドを書きましたが、それは正しくないと思います。

value1=$(echo $line| awk -F\ '{print $1}' input.txt)
value2=$(echo $line| awk -F\ '{print $2}' input.txt)
6
shome

組み込みのreadシェルを使用できます。

while IFS=" " read -r value1 value2 remainder
do
    ...
done < "input.txt"

余分なフィールドがある場合は、「残り」に表示されます。シェルのデフォルトのIFS(フィールド間セパレーター)は空白文字で構成され、各行をそのコンポーネントフィールドに分割するために使用されます。

14
JRFerguson