我正在尝试将带有双引号字符串的行拆分为数组:
input.txt中:
"ABC" "This is TEST 1" "12.3.0"
"AC" "This is TEST 221" "123"
"CX" "This is TEST 16" "123.2"
"LM" "This is TEST 9000" "123.6.6.1"
我希望成为每一行的结果:
print $a[0] $a[1] $a[2]
ABC This is TEST 1 12.3.0
如何最好地每行抓取每个字符串?我试图通过命令行和/或shell脚本
来做到这一点更新: 为了帮助降低复杂性,我更新了我的“input.txt”文件,如下所示: input.txt中:
'ABC' 'This is TEST 1' '12.3.0'
'AC' 'This is "TEST" 221' '123'
'CX' 'This is TEST 16' '123.2'
'LM' 'This is TEST 9000' '123.6.6.1'
所有双引号都已替换为单引号,而其他引号则替换为值。
答案 0 :(得分:1)
假设你正在使用bash:
IFS='"' a=("ABC" "This is TEST1" "12.3.0")
应该几乎可以工作。索引将关闭,条目为空,但是:
while IFS='"' read -a a; do
echo ${a[1]} ${a[3]} ${a[5]}; done < input
让你在那里大部分时间。请记住,这非常脆弱。