我有一个小脚本,它从文本文件中读取行并将它们存储在一个数组中。
#!/bin/bash
while read line
do
array+=("$line")
done < $1
for ((i=0; i < ${#array[*]}; i++))
do
echo "${array[i]}"
done
这是我运行脚本后打印的文本文件中的行:
This is line1 of file1 with 10 words.
This is line2 of file2 with 100 words.
This is line3 of file3 with 1000 words.
...
到目前为止还好。从这里开始,我试图在行中使用单词并形成一个新的语句集。最终输出将按以下格式构建:
Capture ThisFile info-count1
filenum file1
Position of line: line1; Count of words: 10
有没有办法可以遍历每个数组元素(行字)并做到这一点?
基本上,从这里开始,当我在数组中有行时,我想遍历每一行,选择行中的某些单词并创建一个新的语句集。
..... 更新: .....
这就是我最终完成的方式:
#!/bin/bash
while read line
do
getthelines=($line)
printf '\n'
echo "Capture ThisFile info_count"
echo "filenum ${getthelines[4]}"
echo "Position of line: ${getthelines[2]}; Count of words: ${getthelines[6]}"
printf '\n'
done < $1
非常感谢。
也可以看看: