linux下awk可以使用日期函数strftime,例如: awk '{print strftime("%Y%m%d %H:%M:%D"), $0}' cmd.list 但是该语句在aix上运行,报错: awk: Function sysftime is not defined. 请教高手,aix平台下,应该如果实现该功能?
**awk内置函数小节** awk提供了许多强大的字符串函数,见下表: awk内置字符串函数 gsub(r,s) 在整个$0中用s替代r gsub(r,s,t) 在整个t中用s替代r index(s,t) 返回s中字符串t的第一位置 length(s) 返回s长度 match(s,r) 测试s是否包含匹配r的字符串 split(s,a,fs) 在fs上将s分成序列a sprint(fmt,exp) 返回经fmt格式化后的exp sub(r,s) 用$0中最左边最长的子串代替s ,该字符串是r substr(s,p) 返回字符...
@awk的gsub函数@ 一。遇到的问题: 问题:echo "a b c 2011-11-22 a:d" | awk '$4=gsub(/-/,"",$4)'为啥 输出后 2011-11-22 变成 2 了? 解答: gsub(/-/,"",$4)的值是2,你将2赋值给$4 ,gsub返回的是替换的次数。 如下是测试结果: [root@Test230 ~]# echo "a b c 2011-11-22 a:d" | awk '$4=gsub(/-/,"",$4)' a b c 2 a:d 二。实例详解 下面我们来总结一下这个gsub的用法: 有一个文本文件data.test的内容如下: ...
看了一下解释 next 就是单纯跳过了当前的记录 跑到下一条记录 可是为啥我的文件 a b c d e 执行 awk '{next;print}' file 执行的结果不是 b c d e呢
我是一个新手,刚刚开始学习shell,有一问题甚是不解,盼各位明示:bash-2.03# more fun1 #!/bin/sh mystring="how are you doing today?" print length(mystring) bash-2.03# awk -f fun1 awk: syntax error near line 3 awk: bailing out near line 3 请问为何出现这种提示啊?
[root@master bin]# date -d "Sat Sep 29 15:02:50 CST 2012" +%s 1348902170 怎样用awk 实现上面的功能,把“Sat Sep 29 15:02:50 CST 2012”转换成时间戳?最好用一句话,谢谢!
一文件 第一列 20100101 用date -d "20100101 1 days ago" "+%Y%m%d" 可得到结果 现在想用awk来得到这个时间的前一天 但不清楚怎么搞 谢谢
有 高手帮下忙?? 我的时间 的格式是 Tue Dec 1 00:00:00 UTC 2009 因为是busybox 下的date 不能用date -d "Tue Dec 1 00:00:00 UTC 2009" "+%y.%m.%d-%H:%M:%S" 想用awk 把它变成 2009.12.01-00:00:00 的格式?? 还要判断其他几个月比如Nov 就是11 Sep是09