日期:2014-05-16  浏览次数:20609 次

awk的split问题
split的分隔符可不可以是一个串?比如我想把字符串按" ["分隔开,(一个空格加一个左中括号)。如果这样不行的话,怎么解决下面的问题:

字符串的形式是:

[attr1] => value1 [attr2] => value2 ... 这样的形式。要把attr和value取出来。这个在awk里要怎么进行?

------解决方案--------------------
别用split了
Perl code
$ cat test
[attr1] => value1 [attr2] => value2 [attr3] => value3

$ awk -F'\\] => |\\[' '{$1=$1}1' test     
 attr1 value1  attr2 value2  attr3 value3

------解决方案--------------------
sed 一下

sed -e 's/\[//g' -e 's/\]//g' -e 's/=>//g'
------解决方案--------------------
一个空格加一个左中括号 替换为 ",["
sed 's/ \[/,\[/g'