我想要实现的目标是:
1.逐行读取文件。2.将每个内容放入变量中(在 EOF 处停止,这里的问题是我不知道有多少行)3.在另一个文件中单独使用变量。
示例文件:
- 123
- 345
- 567
- 等(最多 10 行)
输出文件
- 这是123
- 这是 345
- 这是 567
这可能吗?
> while IFS=$'\n' read -r v1 v2 v3 v4 v5 v6 v7; do
> # put each new line a var
> echo "this is $v1" >>log.txt
> echo "this is $v2" >>log.txt
> etc.. ;
>
> done
答案1
该mapfile
命令在这里很有用:它将文件读入数组,每行都是一个数组元素:
mapfile -t lines < filename
for line in "${lines[@]}"; do
echo "this is $line"
done
參考文獻:http://www.gnu.org/software/bash/manual/bashref.html#index-mapfile