我正在尝试对一个文件进行循环,该文件包含多个具有条件的多列(字段)的行.
以下是示例文件(file.txt)的样子:
aaa bbb ccc
ddd kkk
fff ggg hhh lll
ooo
sss
Run Code Online (Sandbox Code Playgroud)
...等等...
我想写一个循环在第一个字段的第一行的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
Run Code Online (Sandbox Code Playgroud)
显然,上面的脚本测试行和列.但是如果第一个字段不存在并且第二个字段不存在,我还想循环到第二个,第三个和第四个字段,测试第三个字段,直到第四个字段.
Gri*_*vit 10
我认为你真正想做的是逐行读取文件而不是逐字逐句.你可以用while和做read.喜欢:
while read field1 field2 field3 field4; do
if [ -e "$field1" ]; then
something
elif [ -e "$field2" ]; then
...
fi
done < file.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13984 次 |
| 最近记录: |