我正在尝试循环遍历一个名为 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