【发布时间】:2013-06-11 00:13:03
【问题描述】:
假设我们有一个 tsv 文件
1 2 3
1 2 3
我们想为每个 tsv 文件行做一些操作,比如 echo $1 $2 $3。
如何在 bash 中做这样的事情?
【问题讨论】:
假设我们有一个 tsv 文件
1 2 3
1 2 3
我们想为每个 tsv 文件行做一些操作,比如 echo $1 $2 $3。
如何在 bash 中做这样的事情?
【问题讨论】:
这样就可以了:
while read -r a b c
do
echo "first = $a second = $b third = $c"
done < file
$ while read -r a b c; do echo "first=$a second=$b third=$c"; done < file
first=1 second=2 third=3
first=1 second=2 third=3
由于分隔符是一个制表符,您不需要使用IFS。例如,如果它是 |,您可以这样做:
$ cat file
1|2|3
1|2|3
$ while IFS='|' read -r a b c; do echo "first=$a second=$b third=$c"; done < file
first=1 second=2 third=3
first=1 second=2 third=3
【讨论】: