AWK中的OFS的问题】的更多相关文章

echo a b c d |awk '{OFS = ":";print $0}' 我的理解是应该把输出显示为如下的方式 a:b:c:d dan但执行的结果不是这样的 a b c d 为什么啊 echo a b c d|awk '{print $1":"$2":"$3":"$4}' 或者 echo a b c d|awk 'BEGIN {OFS=":"}{print $1,$2,$3,$4}' 或 echo…
 今天用到awk ofs 看到一篇不错文章 awk中RS,ORS,FS,OFS区别与联系 张映 发表于 2010-12-02 分类目录: shell 标签:awk, FS, OFS, ORS, RS, shell 学习awk时,一定要记得动手去实践,只有在实践中才能发现问题,以下就我在学习中和实践中的经验,总结一下RS,ORS,FS,OFS的区别和联系. 一,RS与ORS 1,RS是记录分隔符,默认的分隔符是\n,具体用法看下 [root@krlcgcms01 mytest]# cat test…
linux awk 中 RS,ORS,FS,OFS 区别与联系 http://blog.csdn.net/jesseen/article/details/7992929…
一.NR和FNR 1.释义 NR: 表示当前读取的行数 FNR:当前修改了多少行 2.举例 比如现在AWK处理到第五行.第一行没有进行操作,2,3,4,5行进行了操作,那么NR=5,FNR=4 NR==FNR 表示从起始行到当前行,awk都进行了操作,比如修改,添加等等 : 二.NF和$NF 1.释义 NF:浏览记录的域的个数 $NF: 最后一个列,输出最后一个列的内容 2.举例 [root@vshi-template shell]# pwd /root/guanyy/scripts/shell…
一,RS与ORS 1,RS是记录分隔符,默认的分隔符是\n,具体用法看下 [root@krlcgcms01 mytest]# cat test1     //测试文件 111 222 333 444 555 666 2,RS默认分割符\n [root@krlcgcms01 mytest]# awk '{print $0}' test1  //awk 'BEGIN{RS="\n"}{print $0}' test1 这二个是一样的      RS="" 表示分隔符为空…
awk中分隔符转换的问题(转) 在awk中明明用OFS重新设置了分隔符,为什么在输出的时候还是原样输出呢! 他是这么写的:    echo 1,2,3,4 | awk 'BEGIN{FS=",";OFS="|"}{print}'".        其实在awk中,只设置分隔符而不改变文件的内容,重新设置的分隔符是不会生效的,所以必须让awk认为你改变分隔符的同时也改变了文件的内容才行,重新改动如下:     echo 1,2,3,4 | awk 'BEIG…
AWK中的FIELDWIDTHS是一个很好用的变量,这个变量可以指定字符串按照怎么样的宽度进行展示 实例一: 要求: 032130 032131 146230 035048 222049 095070 095261 155052 142050 替换成为IP地址: 32.130 32.131 146.230 35.48 222.49 95.70 155.52 142.50 48.40 解决办法: awk -vFIELDWIDTHS="3 3"  '{print (+$1)".&…
system只能对命令的输出结果输出到终端. getline在awk中可以使命令的输出结果传到一个变量中保存. # awk 'BEGIN{system("date")|getline out;print out}' Sun Jan 1 22:11:58 CST 2017 sh: 1: 0: not found # awk 'BEGIN{"date"|getline out;print out}' Sun Jan 1 22:13:47 CST 2017 # awk '…
在awk中可以直接执行shell命令. zoer@ubuntu:~$ touch a zoer@ubuntu:~$ touch b zoer@ubuntu:~$ cat a.txt a b zoer@ubuntu:~$ awk '{cmd="rm "$0;system(cmd)}' a.txt zoer@ubuntu:~$ ls a.txt      dd            important    mysql                py       testdata da…
Awk中调用shell命令 需求 在awk中,有时候需要调用linux系统中命令,如计算字符串的MD5值,并保存下来. 方法参考 call a shell command from inside awk and pass some awk variables to the shell command cmd=sprintf("md5sum %s | cut -f2,2", url); #printf("command %s\n", cmd); cmd | getli…