分享

awk工具的使用

 用勿龍潛 2011-09-25
awk工具的使用
 
1.对文件中某一列内容相同的行只保留一行:
awk -F'|' '! a[$i]++' filename
 
对于awk -F'|' '! a[$i]++',需要了解4个知识点
(1)、-F'|'     将每一行以字符"|"为分隔符划分成列
(2)、awk数组知识,不说了
(3)、awk的基本命令格式 awk 'pattern{action}'
    省略action时,默认action是{print},如awk '1'就是awk '1{print}'
(4)、var++的形式:先读取var变量值,再对var值+1

以数据
1 2 3
1 2 3
1 2 4
1 2 5
为例,对于awk '!a[$3]++'
awk的默认列分隔符是空格,因此这里就不需要用-F参数指定了
awk处理第一行时: 先读取a[$3]值再自增,a[$3]即a[3]值为空(0),即为awk '!0',即为awk '1',即为awk '1{print}'
awk处理第二行时: 先读取a[$3]值再自增,a[$3]即a[3]值为1,即为awk '!1',即为awk '0',即为awk '0{print}'
.............

最后实现的效果就是对于$3是第一次出现的行进行打印,也就是去除$3重复的行

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多