[chengmo@localhost ~]$ awk 'BEGIN{FS=":"print FILENAME}{print FILENAME}' /etc/passwd
/etc/passwd
FILENAME,$0-$N,NF 不能使用在BEGIN中,BEGIN中不能获得任何与文件记录 *** 作的变量。
经分析,文件名中以 ICIMSIDIFF 开头,awk 中 可以考虑以它为分界符试一下如下代码:
ls -ltr *20100502* | awk -F "ICIMSIDIFF" '{print $2}'|cut -b 1-2
除了使用sed命令,Linux系统中还有一个功能更加强大的文本数据处理工具,就是awk。它诞生于20世纪70年代末期,这也许是它影响了众多Linux用户的原因之一。和sed命令类似,awk命令也是逐行扫描文件(从第1行到最后一行),寻找含有目标文本的行,如果匹配成功,则会在该行上执行用户想要的 *** 作;反之,则不对行做任何处理。awk命令的基本格式[root@localhost]#awk[选项]'脚本命令'文件名。awk的强大之处在于脚本命令,它由2部分组成,分别为匹配规则和执行命令。awk的主要特性之一是其处理文本文件中数据的能力
它会自动给一行中的每个数据元素分配一个变量。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)