如何将awk分隔符设置为字符串或字符?

时间:2014-11-25 14:52:16

标签: linux awk delimiter

如何使用 string 和另一个 character 作为awk中的同时分隔符?

sdlcb@ubuntu:~/AMD_C/SO$ echo "111:222text333:444" | awk -F ':' '{print $2}'
222text333

sdlcb@ubuntu:~/AMD_C/SO$ echo "111:222text333:444" | awk -F "text" '{print $2}'
333:444

问题是,我们如何同时使用“text”和“:”作为分隔符,以便{print $2}222打印为输出?考虑输入,如上例所示。

1 个答案:

答案 0 :(得分:3)

您可以使用简单的替换

$ echo "111:222text333:444" | awk -F "text|:" '{print $2}'
222

它的作用

  • -F "text|:"将字段分隔符设置为text:

<强>测试

确保正确分隔字段

$echo "111:222text333:444" | awk -F "text|:" '{print $1,$2,$3,$4}'
111 222 333 444

修改

如果您想使用|作为分隔符,请将|转义为

$ echo "111:222text333:444|hello" | awk -F '\\||text|:' '{print $1,$2,$3,$4,$5}'
111 222 333 444 hello