1. 匹配指定天数的点击日志文件中由指定小时和分钟开头的日志(文件内分隔符为@_@):
awk -F "@_@" '{if($1 ~ /2017-03-18T04:43/)print NR,$1}' click.log_2017-03-18T04
2. sed对内容进行替换操作:
sed 's/\t/ /g' filename \\将TAB替换成一个空格,filename是你要操作的文件名
send 's/-/\t/' file \\-换成Tab
3. 输出指定分隔符分割的文件中的第一列:
awk-F '[ :\t|]' '{print $1}' file 按照正则表达式的值做为分隔符,这里代表空格、:、TAB、|同时做为分隔符
4. 经典社区问答:
有个文件,只有一行,内容如下:
AAA_FAH_Flashbackup.tl--------------------------------------xxxxxxxxxxxx--------NA,AAA_AIR_Classic_One_To_One.tl--------------------------------7.8_20150730--------this
is some
comments.,AAA_MP_MOptdup_.tl----------------------------------------7.8_20150716--------this
is some
comments,AAA_DP_AABAC.tl---------------------------------------------7.8_20150804--------This
is some comments may, have
请问怎么用awk显示出来这个呢?
AAA_FAH_Flashbackup.tl,AAA_AIR_Classic_One_To_One.tl,AAA_MP_MOptdup_.tl,AAA_DP_AABAC.tl
-------------------------------------------------------------------------------------
下面是我的回答之一(找文字规律咯):
1338 $ sed 's/-/\t/g' file|awk -F "[,\t]+" '{print $1,$4,$7,$10}'
AAA_FAH_Flashbackup.tl AAA_AIR_Classic_One_To_One.tl AAA_MP_MOptdup_.tl AAA_DP_AABAC.tl