您好,需要一个 shell 脚本来解析 csv 文件 - 逐行解析,然后逐个字段]
该文件将如下所示
X1,X2,X3,X4
Y1,Y2,Y3,Y4
我需要提取这些 X1,X2....
我写了一个脚本,但如果行超过一行,它就会失败。
我就是这样做的。
首先我设置 IFS 环境变量来告诉read
“,”是字段分隔符。
export IFS=","
鉴于文件“输入”包含您提供的数据,我可以使用以下代码:
cat test | while read a b c d; do echo "$a:$b:$c:$d"; done
快速回顾一下上面发生的事情。cat test |
读取文件并将其通过管道传输到while
. while
运行之间的代码do
and done
while read
返回真。read
从标准输入读取一行并根据 $IFS 的值将其分成变量(“a”、“b”、“c”和“d”)。最后echo
只显示我们读取的变量。
这给了我以下输出
X1:X2:X3:X4
Y1:Y2:Y3:Y4
顺便说一句,BASH 手册 http://www.gnu.org/software/bash/manual/bashref.html总是很好的阅读。每次阅读它你都会学到新东西。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)