我对shell脚本相对较新。这对我来说很容易用PHP做,但是我不确定shell中的语法。
我正在运行一个查询(分配给一个变量),它带有一个逗号分隔值和空格来指定一个新行。
查询的输出示例:
04/2014,Linux,24124 04/2014,Solaris,24509 04/2014,Windows,40824
正如您所看到的,结果以逗号分隔,而行之间只有一个空格。我循环了这个,并能够在空间分裂它们。
array=(${COUNT// / })
for i in "${!array[@]}"
do
INSERT INTO DATABASE_TABLE(ID,LATEST_SCAN_TIME,OPERATING_SYSTEM,COUNT) VALUES ('','${array[i]}');
done
由于某种原因,我在更换","时遇到了问题。在$ {array [i]}到"','"。
当前输出:
INSERT INTO DATABASE_TABLE (ID,LATEST_SCAN_TIME,OPERATING_SYSTEM,COUNT) VALUES ('','04/2014,Linux,24124');
我想要的是什么:
INSERT INTO DATABASE_TABLE (ID,LATEST_SCAN_TIME,OPERATING_SYSTEM,COUNT) VALUES ('','04/2014','Linux','24124');
我该怎么做?谢谢!
答案 0 :(得分:3)
kent$ echo "a,b,c"|awk -F, -v OFS="','" -v q="'" '{$1=$1}$0=q$0q'
'a','b','c'
或
kent$ echo "a,b,c"|sed -r "s/^|$/'/g;s/,/','/g"
'a','b','c'