name.txt文本内容如下:
张三 男 18岁
李四 女 25岁
王五 男 22岁
希望的是循环读取这个文本,然后每行信息再通过空格分割成数组。
1.使用for循环读取每行数据的时候,空格也会被分割,导致出现了9行。
如下:
2.使用while读取
脚本内容如下:
#!/bin/bash
#过滤空行或者是#号开头的注释行
cat "./name.txt" | grep -Ev "^$|^#.*$" | while read i;
do
echo 'line=' $i
a=`echo $i | cut -f 1 -d " "`
echo $a
b=`echo $i | cut -f 2 -d " "`
echo $b
c=`echo $i | cut -f 3 -d " "`
echo $c
done
运行脚本,输出如下: