逐行读取一个文件行的值赋给变量 [英] Read a file line by line assigning the value to a variable
本文介绍了逐行读取一个文件行的值赋给变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下的.txt文件:
I have the following .txt file:
Marco
Paolo
Antonio
我要读它行由行,每行我要分配一个.txt线值的变量。假设我的变量 $名称
,该流程是:
- 阅读第一行从文件
- 分配
$名称
=马可 - 请与
$名称
某些任务 - 从文件中读取第二行
- 分配
$名称
=保罗
- Read first line from file
- Assign
$name
= "Marco" - Do some tasks with
$name
- Read second line from file
- Assign
$name
= "Paolo"
推荐答案
以下(另存为 rr.sh
)读取由线参数传入行的文件:
The following (save as rr.sh
) reads a file passed as an argument line by line:
#!/bin/bash
while IFS='' read -r line || [[ -n "$line" ]]; do
echo "Text read from file: $line"
done < "$1"
说明:
-
IFS =''
(或IFS =
)prevents领导/被修剪尾随空白。 -
-r
prevents反斜线被间preTED逃脱。 -
|| [[-n $行]
$ P $的,如果它不以\\ n
(结束以来被忽略pvents最后一行读
返回时遇到EOF)非零退出code。
IFS=''
(orIFS=
) prevents leading/trailing whitespace from being trimmed.-r
prevents backslash escapes from being interpreted.|| [[ -n $line ]]
prevents the last line from being ignored if it doesn't end with a\n
(sinceread
returns a non-zero exit code when it encounters EOF).
运行脚本如下:
chmod +x rr.sh
./rr.sh filename.txt
...
这篇关于逐行读取一个文件行的值赋给变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文