【发布时间】:2021-03-21 23:43:11
【问题描述】:
我想在文件中打印表格的行,问题是当我使用readline 时,我多次重印结果,这是我的输入文件
aa ,DEC ,file1.txt
aa ,CHAR ,file1.txt
cc ,CHAR ,file1.txt
dd ,DEC ,file2.txt
bb ,DEC ,file3.txt
bb ,CHAR ,file3.txt
cc ,DEC ,file1.txt
这是我想要的结果:
打印在file1.txt中
aa#DEC,CHAR
cc#CHAR,DEC
在file2.txt中打印
dd#DEC
打印在file3.txt中
bb#DEC,CHAR
这是我的尝试:
(cat input.txt|while read line
do
table=`echo $line|cut -d"," -f1
variable=`echo $line|cut -d"," -f2
file=`echo $line|cut -d"," -f3
echo ${table}#${variable},
done ) > ${file}
【问题讨论】:
-
请向我们展示您的尝试。
-
@0stone0 完成;谢谢
-
您需要将 echo 重定向到循环内的相关文件。目前,所有的输出都在一个文件中。
-
请将您的脚本复制/粘贴到shellcheck.net(按照 bash 标签信息中的说明,stackoverflow.com/tags/bash/info),修复它告诉您的问题,阅读why-is-using-a-shell-loop-to-process-text-considered-bad-practice,然后重新发布如果你还有问题。