在bash中循环遍历行和多列

发布时间:2019-11-03 发布网站:大佬教程
大佬教程收集整理的这篇文章主要介绍了在bash中循环遍历行和多列大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试对一个文件进行循环,该文件包含多个具有条件的多列(字段)的行.

以下是示例文件(file.txt)的样子:

aaa  bbb  ccc
ddd  kkk
fff  ggg  hhh lll
ooo
sss

…等等…

我想写一个循环在第一个字段的第一行的bash脚本,如果名称存在,则继续到第二行.如果第一个字段的第一行的名称不存在,则测试第二个字段(在这种情况下测试名称“bbb”),依此类推,直到第四个字段.我有一个可变字段编号,最多有四(4)个字段,给定行最少有一个字段(列).

for i in cat file.txt; do 
    echo $i
    if [ -e $i ]; then
        echo "name exists"
    else
        echo "name does not exist"
    fi
done

显然,上面的脚本测试行和列.但是如果第一个字段不存在并且第二个字段不存在,我还想循环到第二个,第三个和第四个字段,测试第三个字段,直到第四个字段.

解决方法

我认为你真正想做的是逐行读取文件而不是逐字逐句.你可以用while和read来做到这一点.喜欢:
while read field1 field2 field3 field4; do
  if [ -e "$field1" ]; then
     something
  elif [ -e "$field2" ]; then
      ...
  fi
done < file.txt

大佬总结

以上是大佬教程为你收集整理的在bash中循环遍历行和多列全部内容,希望文章能够帮你解决在bash中循环遍历行和多列所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ群:277859234,请注明来意。