嗨需要一个shell脚本来解析csv文件 - 逐行,然后逐字段解析]
该文件将如下所示
X1,X2,X3,X4
Y1,Y2,Y3,Y4
Run Code Online (Sandbox Code Playgroud)
我需要提取这些X1,X2 ....
我写了一个脚本,但如果该行超过一行则失败.
Mar*_*sen 42
我就是这样做的.
首先,我设置IFS环境变量,告诉read","是字段分隔符.
export IFS=","
Run Code Online (Sandbox Code Playgroud)
给定包含您提供的数据的文件"input",我可以使用以下代码:
cat test | while read a b c d; do echo "$a:$b:$c:$d"; done
Run Code Online (Sandbox Code Playgroud)
快速回顾上面发生的事情.cat test |读取文件并将其传递给while.while在之间运行代码do,donewhile read返回true.read从标准输入读取一行,并根据$ IFS的值将其分为变量("a","b","c"和"d").最后echo只显示我们读取的变量.
这给了我以下输出
X1:X2:X3:X4
Y1:Y2:Y3:Y4
Run Code Online (Sandbox Code Playgroud)
顺便说一句,BASH手册总是很好读.每次阅读它都会学到新东西.
| 归档时间: |
|
| 查看次数: |
76718 次 |
| 最近记录: |