位置: 编程技术 - 正文

总结Linux中用于文本处理的awk、sed、grep命令用法(linux 用处)

编辑:rootadmin

推荐整理分享总结Linux中用于文本处理的awk、sed、grep命令用法(linux 用处),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux用在哪些方面,linux用在哪些方面,linux用途和基本使用方法,linux主要应用于,linux 用处,linux使用范围,linux使用范围,linux主要应用于,内容如对您有帮助,希望把文章链接给更多的朋友!

awk基础概念Awk把文件(或其他方式的输入流, 如重定向输入)看作一个记录集, 把每一行看作一条记录, 把每一行中以空格(或t,或用户自己指定的分隔符)分割的字符串看作一个字段. 这似乎把文件记录看成数据库. 但是, awk仍然以行为单位逐行处理. 本例子以下面的文件(命名为s.txt)内容做演示:复制代码代码如下:zhangsan male computer lisi male math wanglijiang female chinese xuliang male economic xuxin female english wangxuebing male math lichang male math wanglijiang female chinese zhangsansan male computer langxuebing male math lisibao male math xiaobao female chinese 一行中的5个字段分辨表示姓名, 出生年, 性别,科目,分数, 是一个很传统很典型的报表文件.Awk基本语法: awk ‘pattern1 {command1;command 2…; command 3}pattern2 { command …}’pattern表示用来过滤记录的模式, 可是是正则表达式, 关系运算表达式, 也可以什么也没有(表示选中所有记录);每个pattern选中的行记录会被花括号括起来的命令command操作一遍, command之间用;分割. 花括号里面可以什么也没有, 则默认为print输出整行记录. Comamnd可以是输出, 可以是算术运算, 逻辑运算, 循环控制等等.先看几个例子, 以建立对awk的命令直观的了解.复制代码代码如下:awk ‘//’ s.txt #//直接输出年出生的同学;awk ‘/chinese/{print “语文”; print “语文”}’s.txt #// 对chinese的课程的行输出两行”语文 +”;awk ‘>1{print “Yes”}’ s.txt #//因为>0,所以每行输出Yes;awk 'BEGIN{print "Result of the quiz:n"}{print}END{print"---------------------------"}' s.txt结果:本例有3个花括号,分别对应3个模式, BEGIN和END是特殊模式,分别作用在记录开始前和记录结束后.变量: 上面说到command可以是算术运算, 所及运算等, 则既然有运算, 就有常量变量, awk可以自定义变量(不需要提前声明, 但最好在BEGIN里面给它初始化). Awk也维护了一组程序变量:

变量

说明

$0

当前记录;

$1, $2, … $n

当前记录的字段

FILENAME

当前的文件名

FS

输入字段的分隔符, 可通过-F修改. 如: 先通过sed把空格替换为|,然后管道输送给awk:sed 's/ /|/g' s.txt | awk -F '|' '/chinese/{print FILENAME, $1, $5}'

总结Linux中用于文本处理的awk、sed、grep命令用法(linux 用处)

NF

当前记录的字段数

NR

当前记录编号

OFS

输出字段分隔符

ORS

输出记录分隔符

RS

记录分隔符, 默认为换行符

给一些例子来说明这些变量的用法:复制代码代码如下:awk ‘$4==”chinese”{print NR, $1, $4, $5}’ s.txt #//第四个字段科目为chinese的记录编号, 学生姓名, 科目和成绩.awk ‘$2~//{print $1}’ s.txt #//找出年出生的学生姓名, ~表示匹配正则表达式awk ‘$2!~//{print $1}’ s.txt #//找出不是年出生的学生姓名, !~表示不匹配正则表达式awk ‘$2>””{print $1, $2}’ s.txt #//找出大于年出生的学生姓名,年龄awk ‘END{print “total: ” NR ”n----------------” }’ s.txtawk ‘BEGIN{goodChinese=0; goodMath=0}($4==”chinese”||$5>){goodChinese++}END{print“”}

sedsed '2,5d' file 显示文件file,除去2-5行,但行数超过文件实际行数时不会报错。sed '/[1-4]/d' file 显示文件file,除去包含-的行。sed '2,$d' file 显示文件,只显示第一行。sed '2,$!d' file则只显示除第一行外的其它行。sed '/^ *$/d file 删除文件中的空行。sed -n '/[1-4]/p' file 只显示文件file中包含-的行。(n和p必须同时使用,否则只有p时显示全部文件并多显示一次找到的行)sed -n '5p' file 只显示文件的第5行sed 's/moding/moden/g' file 将moding替换为modensed -n 's/^west/north/p' file 将west开头的行替换为north并显示出来。sed 's/[0-9][0-9][0-9]$/&.5/' file 将file文件中以3个数字结尾的行替换为原数字加".5",&代表搜索到的字符串。sed 's/moding/1en/g file 将mod做为模式1封装在括号里,然后替换。sed 's/...$//' file 删除每一行的最后三个字符。sed 's/^...//' file 删除每一行的头三个字符。sed 's#moding#moden#g' file将moding替换为moden,s后面的#代表搜索串和替换串之间的分界符。sed -n '//,//p' file 显示从的匹配行到的匹配行。如果只找到的匹配行,则从的匹配行到文件末。sed -n '2,//p' file 显示从第2行到匹配行。sed'//,//s/$/ /' file将从的匹配行到的匹配行的行末增加" "内容。sed -e '1,3d' -e 's/moding/moden/g'file 先删除文件的1-3行,再进行替换。sed -e '/^#/!d' file 显示文件以#开头的行。sed '//r newfile' file 在每个匹配行增加文件newfile的内容sed '//w newfile' file 把匹配行写入newfile。sed '//a new text' file 在匹配行后增加一新行。sed '//i' new text' file 在匹配行前增加一新行。sed '//c new text' file 用新行替换匹配行。sed 'y/abcd/ABCD/' file 将a、b、c、d分别替换为ABCD。 sed '5q' file 显示到第5行时退出。sed '//{ n; s/moding/moden/g; }' file在文件中找到匹配行的后一行(n)再进行替换。sed '//{ s/moding/moden/g; q; }' file在文件中找到第一个匹配行后进行替换后再退出。sed -e '//{ h; d; }' -e '//{ G; }'file 在文件中找到与匹配行后先存在一个缓存中,再放在与匹配行后。sed -e '//{ h; d; }' -e '//{ g; }'file 在文件中找到与匹配行后先存在一个缓存中,再替代的匹配行。sed -e '//h' -e '$G' file 将最后一个匹配行放在文件末。sed -e '//h' -e '$g' file 将最后一个匹配行替换文件末行。sed -e '//h' -e '//x' file 在文件中找到与匹配行后先存在一个缓存中,再与的匹配行进行互换。echo –ltr 1.txt | sed‘s/^.* //’ 找出文件名

grep常用的grep选项-c 只输出匹配行的计数。// 这条有时候很有用, 不需要再 | wc -l-i 不区分大小写(只适用于单字符)。-h 查询多文件时不显示文件名。-l 查询多文件时只输出包含匹配字符的文件名。-n 显示匹配行及行号。-s 不显示不存在或无匹配文本的错误信息。-v 显示不包含匹配文本的所有行。例子复制代码代码如下:grep -v "Sort" tab2 显示不包含匹配文本的所有行复制代码代码如下:grep -n "Sort" tab2 显示匹配行及行号复制代码代码如下:grep -c "Sort" tab2 只输出匹配行的计数精确匹配:复制代码代码如下:grep "">" tab2复制代码代码如下:grep -in "code" tab2 忽略大小写多次过滤复制代码代码如下:grep -in "code" tab2 | grep ""补充说明,grep 家族还包括fgrep和egrep。fgrep是fix grep, 允许查找字符串而不是一个模式,运算速度快,适合于从大量数据中进行检索;egrep是扩展grep,支持基本及扩展的正则表达式,可用()及|等,但不支持q模式范围的应用及与之相对应的一些更加规范的模式。复制代码代码如下:echo aAAbbb |egrep '[0-9]*'复制代码代码如下:echo AAAbbb | egrep -i '^a'

Linux系统中sort排序命令的使用教程 sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。实际上

Linux系统中nmap网络扫描工具的命令用法详解 1.名称nmap-网络探测和安全扫描工具2.语法nmap3.描述nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取那台

Linux系统中网络数据存储工具命令TcpDump的使用教程 Linux中强大的网络数据采集分析工具TcpDumptcpdump采用命令行方式,它的命令格式为:tcpdump[-adeflnNOpqStvx][-c数量][-F文件名][-i网络接口][-r文件名][-ssnaplen][-T

标签: linux 用处

本文链接地址:https://www.jiuchutong.com/biancheng/358942.html 转载请保留说明!

上一篇:简单讲解Linux系统中PS1默认提示符的设置(linux系统)

下一篇:Linux系统中sort排序命令的使用教程

  • 自己的医院
  • 增值税专用发票丢失了要怎么处理
  • 公司购买股票如何做账
  • 应纳税所得额是含税还是不含税
  • 购买的手机可以七天无理由退货吗
  • 预缴的附加税月末结转吗
  • 培训发生的差旅费怎么记账
  • 收到红字发票如何申报增值税?
  • 费用已付发票未到的预算会计分录
  • 广告公司可以开劳务费吗
  • 公司支付代账费怎么入账
  • 工厂筹建期间购房合法吗
  • 无形资产使用费计入什么科目
  • 利润分配包括缴纳所得税吗
  • 核定和查账区别
  • 物业公司收物业费如何入账
  • 员工租房合同
  • 购买办公楼支付相关手续费
  • 不动产租赁异地预缴需要携带什么
  • 物业公司一般纳税人怎么抵扣
  • 售后返租税收规定
  • 公司的净资产怎么看
  • 小规模增值税本期免税额怎么计算
  • 尚未开发的土地使用权摊销
  • 停产资产折旧如何处理
  • 商品折扣与折让属于销售费用吗
  • 税务专用发票
  • 非企业性单位包括哪些单位
  • 审计报告与汇缴报告
  • 旅游业小规模纳税人亏损怎么填报
  • 上月未计提税费,本月可以补计提吗
  • 预售房款预缴企税怎么算
  • 即征即退的增值税需要缴纳企业所得税吗
  • 个人社保和公积金扣款公司七个人三怎么样
  • 笔记本默认网关不可用怎么修复
  • 生产和提供的区别
  • 支付宝账户收到100块钱如何用
  • 企业债券利息收入计入什么科目
  • 企业所得税中的其他业务收入包括
  • 前端实现微信联系人二维码
  • 服务业的增值税
  • 小规模纳税人免增值税的账务处理
  • 总纳税与就地纳税区别
  • 帝国cms怎么上传图片
  • 未分配利润转增股本要交税吗怎么交
  • 购买方红字信息表已开销售方系统查不到
  • ps像素分辨率什么意思
  • 前端日报
  • PYTHON中使用什么符号表示单行注释
  • 月初红字冲销暂估入账
  • access调用sql
  • 抚恤金的种类有多少种
  • 制造费用怎么写
  • 申请个税退税账号是什么
  • 本年利润要结转吗为什么
  • 股权稀释违法吗
  • 单位的收入是刷卡怎么做账?
  • 员工垫付公司费用
  • 银行回单自助打印可以打多久的记录
  • 结账后发现期间损益结转的凭证做错
  • 会计凭证的摘要 报销 保险费用
  • 企业会计准则基本准则
  • 会计收入的定义和分类
  • 诺诺开票人怎么修改
  • 劳动者权益包含哪些
  • mysql jsonb
  • mysql分区实现
  • 在windows中下列叙述正确的有
  • ias.exe是什么程序
  • nvvsvc.exe是什么进程
  • WIN10系统崩溃如何自救?
  • xp怎么改w7
  • linux系统怎么停止ping
  • cocos creator 发布web
  • samsung s3 gt-19300 开发 键盘回车事件
  • 如何python
  • javascript组成
  • JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
  • javascript面向对象精要pdf
  • 异辛烷征收消费税对成品油影响
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设