使用列循环遍历文件

使用列循环遍历文件

我正在尝试循环遍历一个名为 file.txt 的文件,该文件包含一堆垃圾和我感兴趣的一列(第 4 列)。我希望此循环从 0 运行到 eof。对于第 4 列中的每个值,我想调用另一个脚本。

答案1

要为第 4 列中的每个值调用脚本,您可以使用如下内容:

awk '{system("./your_script.sh " $4)}' inputfile

答案2

还有另一个版本是如何完成的,这次仅使用 shell 内置命令:

while read line ; do
    set $line
    echo $4
done <filename

替换echo为您的脚本。

答案3

我假设您的列由空格分隔。

for value in $(cat file.txt | tr -s ' ' | cut -d ' ' -f4); do
  ./my_script.sh $value
done

解释:

  • tr -s ' '压制连续的空格,以便列由单个空格分隔
  • cut -d ' ' -f4使用单个空格作为分隔符来选择第四列

答案4

sed 1d $outfile1 | while read "column on file" do

done

相关内容