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"