将一行中的每个单词分配给一个变量

将一行中的每个单词分配给一个变量

我对 shell 编程很陌生。我有一个名为quaternary_splitted.csv在 macOS 上。每行有4个字。我想取出每一行中的每个单词并将其分配给一个变量。请建议某种awk命令输入for循环
我想在我的 shell 程序中进一步使用这 4 个变量中每一个的值。

谢谢您的帮助。文件中的几行:

Ta Cr Mo W  
Nb Cr Mo W  
Nb Ta Mo W  
Nb Ta Cr W  
Nb Ta Cr Mo

答案1

您可以使用while read如下循环来完成此操作:

while read -r col1 col2 col3 col4 trash; do
    something with "$col1"
    something with "$col2"
    something with "$col3"
    something with "$col4"
done < /path/to/quaternary_splitted.csv

这将读取 的每一行quaternary_splitted.csv并将第一列设置为col1,第二列设置为col2,依此类推。

trash参数用于捕获文件中可能存在且不需要的任何内容。假设你有一行:Nb Ta Cr W what is this doing here?。没有垃圾你会得到:

col1=Nb
col2=Ta
col3=Cr
col4='W what is this doing here?`

相关内容