我已将列数据复制到文件中,它看起来像 -
echo "copy admin.product (components) to 'updateStatement.cql';"
O / p文件 -
""
"['1.809859', '1.809859','2.334883']"
['3.MYFIT-LTR-DYN']
我正在尝试使用sed删除和替换字符串,但没有工作
sed -i"s (/[\]\[\"]/,"") "updateStatement.cql
预期o / p -
''
'1.809859'
'1.809859'
'2.334883'
'3.MYFIT-LTR-DYN'
请建议
答案 0 :(得分:3)
听起来你正在尝试这样做(GNU awk for multi-char RS):
$ awk -v RS='[][", ]+' 'NF' file
'1.809859'
'1.809859'
'2.334883'
'3.MYFIT-LTR-DYN'
答案 1 :(得分:2)
试试这个:
sed -i "s/ *\"/'/g;s/ *[^0-9]*\('[^']*'\)\]*'*/\1/g;s/\(.\)''/\1'\n'/g;" updateStatement.cql
答案 2 :(得分:0)
由于您需要替换'
和"
,因此最好编写一个脚本,例如,包含
s/"/'/g
s/,[[:blank:]]?/\n/g
s/\[?\]?//g
s/([[:alnum:]])''$/\1'/
s/.?('[[:alnum:]])/\1/
对于输入文件, yourfile
""
"['1.809859', '1.809859','2.334883']"
['3.MYFIT-LTR-DYN']
做
sed -rf sedscript.sed yourfile
给出:
''
'1.809859'
'1.809859'
'2.334883'
'3.MYFIT-LTR-DYN'
答案 3 :(得分:0)
你真的喜欢''
行吗?当您只想要带单引号的字段时,可以使用
grep -Eo "'[^']*'" updateStatement.cql