位置: IT常识 - 正文
推荐整理分享总结Linux中用于文本处理的awk、sed、grep命令用法(linux使用范围),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:linux主要应用于,linux的使用场合,linux使用范围,linux使用范围,linux使用范围,linux使用范围,linux使用范围,linux 用处,内容如对您有帮助,希望把文章链接给更多的朋友!
awk基础概念Awk把文件(或其他方式的输入流, 如重定向输入)看作一个记录集, 把每一行看作一条记录, 把每一行中以空格(或\t,或用户自己指定的分隔符)分割的字符串看作一个字段. 这似乎把文件记录看成数据库. 但是, awk仍然以行为单位逐行处理. 本例子以下面的文件(命名为s.txt)内容做演示:
代码如下:zhangsan 1977 male computer 83lisi 1989 male math 99wanglijiang 1990 female chinese 78xuliang 1977 male economic 89xuxin 1986 female english 99wangxuebing 1978 male math 89lichang 1989 male math 99wanglijiang 1990 female chinese 78zhangsansan 1977 male computer 83 langxuebing 1978 male math 89lisibao 1989 male math 99xiaobao 1990 female chinese 78一行中的5个字段分辨表示姓名, 出生年, 性别,科目,分数, 是一个很传统很典型的报表文件.Awk基本语法: awk ‘pattern1 {command1;command 2…; command 3}pattern2 { command …}’pattern表示用来过滤记录的模式, 可是是正则表达式, 关系运算表达式, 也可以什么也没有(表示选中所有记录);每个pattern选中的行记录会被花括号括起来的命令command操作一遍, command之间用;分割. 花括号里面可以什么也没有, 则默认为print输出整行记录. Comamnd可以是输出, 可以是算术运算, 逻辑运算, 循环控制等等.先看几个例子, 以建立对awk的命令直观的了解.
代码如下:awk ‘/1990/’ s.txt #//直接输出1990年出生的同学;awk ‘/chinese/{print “语文”; print “语文”}’s.txt #// 对chinese的课程的行输出两行”语文 +”;awk ‘20>1{print “Yes”}’ s.txt #//因为20>0,所以每行输出Yes;awk 'BEGIN{print "Result of the quiz:\n"}{print}END{print"---------------------------"}' s.txt结果:本例有3个花括号,分别对应3个模式, BEGIN和END是特殊模式,分别作用在记录开始前和记录结束后.变量: 上面说到command可以是算术运算, 所及运算等, 则既然有运算, 就有常量变量, awk可以自定义变量(不需要提前
上一篇:【已解决】探究CUDA out of memory背后原因,如何释放GPU显存?(想要探究的问题)
下一篇:CKEditor5+vue3使用以及如何添加新工具栏,自定义设置字体fontFamily(vue2editor)
友情链接: 武汉网站建设