Linux 基础 - AWK 用法

AWK 去重

awk '{a[$1]++}{!b[$0]++}END{for (i in a) print i,"-",a[i]}' 源文件

{a[$1]++}  :表示你需要去重的那一列,放到数组A中  //计数

!b[$0]++   去重

 

AWK 消除字符 

awk -F " " '{gsub(/ /,"", $0 );print  $0 ;}'  源文件 

-F  " "(表示以空格为分界符)

gsub 为awk 内置函数 

使用方式: gsub(/ /,"", $0)  / /  斜杠内,就是你需要删除的东西。斜杠内容一般为 字符 、 空格、引号、冒号 等等

根据需要删除对应的字符即可。

" " 第二个参数为内置分隔符

$0 第三个参数为你需要修改的变量。例如awk 提取的第一列,或者 多列。

AWK 还有其它的内置变量

sub(/^[[:blank:]]*/,"",变量)  是去掉变量左边的空白符   // 注释 blank 是表示空白

sub(/[[:blank:]]*$/,"",变量) 是去掉变量右边的空白符  // 注释 blank 是表示空白

 

AWK将文本合并到一行


awk ' { printf ("%s ", $0)} END {printf ("\n") } '   源文件

可以是printf 内置函数进行处理

也可以这样写

awk '{print $1}' 源文件  |tr "\n" " "

使用tr 命令对 换行符进行替换

 

posted @ 2020-04-08 23:21  菜菜920  阅读(262)  评论(0编辑  收藏  举报