awk依照多个分隔符进行切割

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awk依照多个分隔符进行切割相关的知识,希望对你有一定的参考价值。

我们知道awk能够进行类似于cut之类的操作。如一个文件data例如以下

zhc-123|zhang

hongchangfirst-99|zhang

hongchang-100|zhang


假设我们

awk -F ‘-’ ‘{print $1;}’ data

会打印出

zhc

hongchangfirst

hongchang


可是假设我想依据多个分隔符进行切割呢?一种办法是两次awk,可是我们能够一次告诉awk我们全部的分隔符,如-和|这两个,如

awk -F ‘[-|]’ ‘{print $3;}’ data

会打印出

zhang

zhang

zhang

就这么简单,另一个问题,假设我们想用[]作为分隔符怎么办?有办法,这样即可:

awk -F ‘[][]’ ‘{print $3;}’ data


这里在多说一个技巧。假设你想把两个文件依照相应的每行放在同一行上。能够用paste,比方:

data1文件为

1

2

3

data2的文件为

zhang

zhc

hongchangfirst


那么你想要得到

1 zhang

2 zhc

3 hongchangfirst


那么你这样就也能够,

paste data1 data2


默认使用tab键作为份分隔符,还能够自己定义分隔符。如用=号:

paste -d‘=’ data1 data2


原文:http://blog.csdn.net/hongchangfirst/article/details/25071937

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst



以上是关于awk依照多个分隔符进行切割的主要内容,如果未能解决你的问题,请参考以下文章

logstash切割日志,分隔符是中文逗号解析不了怎么办?

编shell脚本遇到一个问题,awk能切割掉最后一个字段的值嘛?

awk

关于 linux shell awk 分隔符

Linux常用命令awk

linux shell 中 awk 分隔符