bash shell脚本如何读取文件
时间:2019-11-20 08:53:03 来源:igfitidea点击:
问题
在linux shell中如何逐行读取文本文件?
假设我们的文本文件是:
name1,email1,addr1
name2,email2,addr2
name3,email3,addr3
对于每一行,需要执行下面的shell命令:
/path/to/send $name3 $email3 --text=
解决方案
可以将while循环 和read命令和内部字段分隔符(IFS)一起使用,如下所示:
#!/bin/bash
input=/path/to/data.txt
[ $# -eq 0 ] && { echo "Usage: ##代码## arg1"; exit 1; }
arg=""
cmd=/path/to/send
while read -r line
do
IFS=, read -r f1 f2 f3 f4 f5 <<<"$line"
$cmd $f1 $f2 --text="$arg"
done <"$input"

