我正在运行一个shell脚本,它从文件中读取一些列并将其写入csv文件。就像编译两个文件中的记录一样。
#!/bin/ksh
while read -r a1 a2 a3 && read -r b1 b2 b3 <&3; do
echo $a2 $a3 $b1 $b2
done <account_info.csv 3<Error.csv > output.csv
echo "extraction is done"
现在在output.csv文件中完成编译后,我想在屏幕上打印“提取已完成”的消息。但相反,消息将被打印在output.csv文件中。 “&gt;”输出的这种行为是否有任何原因运营商。 请帮助将输出消息输出到屏幕。
答案 0 :(得分:0)
此脚本有效:
#!/bin/ksh
IFS=','
while read -r a1 a2 a3 && read -r b1 b2 b3 <&3
do
echo "${a2},${a3},${b1},${b2}"
done < a.csv 3< b.csv > output.csv
echo 'extraction is done'
测试文件:
$ cat a.csv
a1,a2,a3
$ cat b.csv
b1,b2,b3
执行命令
$ ./test.ksh
extraction is done
$ cat output.csv
a2,a3,b1,b2
KSH:
$ ksh --version
version sh (AT&T Research) 93u+ 2012-02-29