读取元素文件txt bash

时间:2014-08-26 15:13:30

标签: bash line

我有一个名为test.txt的文件,其中包含

1 2 3 4
2 3 4
1 12 2 4 5 66

我想逐行阅读,每行我想提取元素。

我试过

while read lines; 
do 

  echo $lines

done < test.txt

它正确打印保存在txt文件中的矩阵的行,但现在我不知道如何从变量行中提取单个元素...

我想做这样的事情

while read lines; 
do 

 ((for i = 0; i<=numberofelementline; i++))
 do 
   element = ....
   echo $element

 done

done < test.txt

3 个答案:

答案 0 :(得分:2)

    read -a line <<< $a
    for i in ${!line[@]}; do echo ${rline[i]}; done

我们读取文件/行并存储为数组。接下来,对于数组的每个元素,我们运行for循环。通过这种方式,您可以了解元素及其位置。

答案 1 :(得分:0)

您可以将所有空格替换为新行,并使用另一个while循环再次读取它们:

while read LINE; do
        echo "$LINE"  | tr -s ' ' '\n' | while read NUM; do
                echo $NUM
        done
done < test.txt

答案 2 :(得分:0)

如果您只想回应它们:

cat test.txt | tr ' ' '\n'

如果您想使用这些数字:

while read num; do
    echo $num
    ...
done < <( cat test.txt | tr ' ' '\n' )