jfny.net
当前位置:首页 >> Awk unix >>

Awk unix

-F'=' 指以"=" 作为分隔符,$2指取第二列 如: 1.txt中内容为: a1=a2=a3 b1=b2=b3 c1=c2=c3 则awk -F"=" '{print $2}' 1.txt 结果为: a2 b2 c2 sed 's/DestDir = //g'|awk -F/ '{print $2}' 将"DestDir = "这个串替换为空,然后将结果 以"/"作为分...

awk ' { if ($1==1) print "A" else if ($1==2) print "B" else print "C" }' #命名为1.sh 执行方法:echo "1" | sh 1.sh 写成一行: echo "3" | awk '{if ($1==1) print "A"; else if ($1==2) print "B"; else print "C"}'

用重定向符| awk 'BEGIN {print 12345}'|grep '[0-9]'

tag="TPP"cat file|awk -v tag=$tag 'BEGIN{a=0}$1==""{a=1}a==1{print $0 >>tag".tmp"}$1==""{exit}'这里的tag也可以设成从脚本参数进行赋值 思路:设置一个变量,开始是0(也可以设置成字符等),遇到,变量改变成1 后面只要a==1就将此行(整...

awk中有一个 mktime函数,可以将日期转化为时间戳 例如 awk 'BEGIN { print mktime("2016 08 28 08 02 02")}' 即把2016-8-28 08:02:02 转化为unix时间戳 注意mktime的参数中,年 月 日 时 分 秒 都是用空格隔开组成的字符串

就是将你passwd文件内容以:为分隔符,打印第1个域和第6个域,并用空格分开,之后用sort进行排序 最后输出到~/userinfo文件中

还得看具体的需求,示例如下awk '/^[[:space:]]* ]/ { print }' filename

比如现在AWK处理到第五行。第一行没有进行操作,2,3,4,5行进行了操作,那么NR=5,FNR=4 NR==FNR 表示从起始行到当前行,awk都进行了操作,比如修改,添加等等 简单来说,NR就是当前读取多少行,FNR就是当前修改了多少行,FNR

用vim、tr、awk等都能转 使用vim: # vimdosfile.txt DOS转UNIX :setfileformat=unix UNIX转DOS :setfileformat=dos 使用awk DOS转UNIX:awk ‘{sub(“\r$”,“”, $0);print $0}’ dosfile.txt > unixfile.txt UNIX转DOS:awk ‘{sub(“$”,“\r”, $0);pr...

cd for file in `ls *` do awk '{ if ($0 ~ /你要匹配的字符串1/) print "匹配成功1" if ($0 ~ /你要匹配的字符串2/) print "匹配成功2" ...... }' ${file} done

网站首页 | 网站地图
All rights reserved Powered by www.jfny.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com