如何使用awk或其他命令格式化用户输入文本字符串

时间:2012-10-23 16:31:53

标签: string awk

我的文字如下: 由空间划界

  

tab1 tab2 tab3 tab4 tab5

或以逗号分隔

  

TAB1,TAB2,TAB3,TAB4,tab5

我想将上述文字转换为以下内容:

  

( 'TAB1', 'TAB2', 'TAB3', 'TAB4', 'tab5')

  

'TAB1', 'TAB2', 'TAB3', 'TAB4', 'tab5'

怎么做? 非常感谢你的帮助!

1 个答案:

答案 0 :(得分:3)

$ cat file
tab1 tab2 tab3 tab4 tab5
tab1,tab2,tab3,tab4,tab5

$ awk -v OFS="','" -v start="'" -v end="'"  '{$1=$1; print start $0 end}' file
'tab1','tab2','tab3','tab4','tab5'
'tab1,tab2,tab3,tab4,tab5'

$ awk -v OFS="','" -v start="('" -v end="')"  '{$1=$1; print start $0 end}' file
('tab1','tab2','tab3','tab4','tab5')
('tab1,tab2,tab3,tab4,tab5')

$ awk -F, -v OFS="','" -v start="('" -v end="')"  '{$1=$1; print start $0 end}' file
('tab1 tab2 tab3 tab4 tab5')
('tab1','tab2','tab3','tab4','tab5')

$ awk -F, -v OFS="','" -v start="'" -v end="'"  '{$1=$1; print start $0 end}' file
'tab1 tab2 tab3 tab4 tab5'
'tab1','tab2','tab3','tab4','tab5'