将文件中的列读取到单独的变量中

sho*_*ome 14 command-line bash text-processing

我需要将以下输入作为变量读入单独的列中?输入文件

b73_chr10   w22_chr9
w22_chr7    w22_chr10
w22_chr8    w22_chr6
Run Code Online (Sandbox Code Playgroud)

我写了以下命令;但我猜它不正确。

value1=$(echo $line| awk -F\ '{print $1}' input.txt)
value2=$(echo $line| awk -F\ '{print $2}' input.txt)
Run Code Online (Sandbox Code Playgroud)

JRF*_*son 25

您可以使用readshell 内置:

while IFS=" " read -r value1 value2 remainder
do
    ...
done < "input.txt"
Run Code Online (Sandbox Code Playgroud)

额外字段(如果有)将出现在“剩余部分”中。IFS由空白字符组成的 shell 的默认值(字段间分隔符)将用于将每一行拆分为其组成字段。