![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
awk sed grep
bitcarmanlee
这个作者很懒,什么都没留下…
展开
-
grep 常用参数
grep的基本使用方式: grep ‘xxx’ file grep ‘xxx1 xxx2’ file cat file | grep ‘xxx’ pip | grep ‘xxx’原创 2016-03-29 17:43:24 · 1382 阅读 · 0 评论 -
sed 常用命令
测试文件:filetest aaa bbb ccc ddd eee fff 111 222 3331.在第一行中插入一行(即在文件头插入一行,经常用于描述文件字段信息)sed -i '1i no1\tno2\tno3' filetest或者:sed -i '1 i\no1\tno2\tno3' filetest都可以在满足需求2.在最后一行追加一行sed -i '$a 1\t2\t3' fil原创 2016-04-13 18:50:28 · 926 阅读 · 0 评论 -
awk 输出到多个文件 多路输出
awk中经常需要根据不同条件,将内容输出到不同文件中。写了个简单的awk小脚本,可以满足这个需求。#!/bin/awk -f{ if(NR==FNR) {a[$0]++} else {if($1 in a) print $0 >> "user_agence" else print $0原创 2016-06-24 15:17:51 · 5664 阅读 · 0 评论 -
如何给awk传外部参数
在awk中,传参的方式主要有如下两种:1.用-v传参[xxx@xxx expensive_user]$ A=3[xxx@xxx expensive_user]$ B=4[xxx@xxx expensive_user]$ echo | awk -v A=$A -v B=$B '{printf("%.2f\n",A/B)}'0.752.在action后传参这种方式就是在awk的动作语句后面指定参数原创 2016-05-05 17:12:10 · 6262 阅读 · 0 评论 -
awk去重
awk的基本命令格式 awk ‘pattern{action}’ 省略action时,默认action是{print},如awk ‘1’就是awk ‘1{print}’利用数组去重 方法一:awk '!a[$3]++' file以数据为例: 1 2 3 1 2 3 1 2 4 1 2 5awk处理第一行时: 先读取a[3]值再自增,a[3]值再自增,a[3]即a[3]值为空(0),即为a原创 2016-04-07 22:22:44 · 4758 阅读 · 0 评论 -
awk去除行首行尾空格
简单明了,实现strip()函数的功能function ltrim(s) { sub(/^[ \t\r\n]+/, "", s); return s }function rtrim(s) { sub(/[ \t\r\n]+$/, "", s); return s }function trim(s) { return rtrim(ltrim(s)); }BEGIN{ FS=","原创 2016-04-07 22:20:40 · 17170 阅读 · 0 评论 -
sed 替换
sed 's/^/添加的头部&/g' //在所有行首添加sed 's/$/&添加的尾部/g' //在所有行末添加sed '2s/原字符串/替换字符串/g' //替换第2行sed '$s/原字符串/替换字符串/g' //替换最后一行sed '2,5s/原字符串/替换字符串/g' //替换2到5行sed '2,$s/原字符串/替换字符串/g' //替换2到最后一行原创 2016-03-24 22:36:26 · 999 阅读 · 0 评论 -
awk 字符串替换 gsub
gsub(r,s)在整个$0中用s替代rgsub(r,s,t)在整个t中用s替代rawk-F","'{str=gsub(/\t*|*$/,"",$3);ret=$1","$2","$3","NR;printret}'去除第三个字段的空格与制表符awk-F"\t"'{if($3=="吉林"){gsub($3,"吉林省",$3);pr原创 2016-03-24 22:29:39 · 21996 阅读 · 0 评论 -
sed awk grep 同时匹配多个条件
以下代码经过测试通过,系统centos 6.3一、匹配或sed 匹配100_1000或bigger_1000sed -n '/100_1000\|bigger_1000/p' 20160220sed -n '/\(100_1000\|bigger_1000\)/p' 20160220awk匹配100_1000或bigger_1000默认是$0匹配,所原创 2016-03-16 15:52:47 · 25473 阅读 · 1 评论 -
awk字符串匹配与传参
1.模式匹配有名为00的文件,里面的具体内容如下:123 abc,100196,an123 abc,100196,an113 abc,100196,an133 abc,100196,an想要对第二个字段做模式匹配,匹配里面是否有100196这个字符串。 最开始博主用了如下方式:#!/bin/bashapp=$1awk -F "\t" '$2~/app/ {a[$1]++} END{pri原创 2017-11-22 21:43:06 · 12820 阅读 · 0 评论