awk怎么把文件名赋给变量

awk怎么把文件名赋给变量,第1张

获得传入的文件名(FILENAME使用)

[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的主要特性之一是其处理文本文件中数据的能力

它会自动给一行中的每个数据元素分配一个变量。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11554392.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存