位置: IT常识 - 正文

在Linux上使用GNU sed的方法(gnu/linux)

编辑:rootadmin
很多朋友再问这样一个问题,如何在Linux 上使用 GNU sed;今天小编为大家分享的是在Linux上使用GNU sed的方法;希望可以帮助到大家!有需要的朋友一起去看看吧... 17-01-09

推荐整理分享在Linux上使用GNU sed的方法(gnu/linux),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux如何使用gcc,linux如何使用gcc,linux中的gnu的含义,gnu linux编程指南,linux gnuplot 命令,linux中的gnu,linux怎么使用gcc,linux中的gnu的含义,内容如对您有帮助,希望把文章链接给更多的朋友!

Linux 基金会宣布了一个全新的 LFCS(Linux 基金会认证系统管理员(Linux Foundation Certified Sysadmin))认证计划。这一计划旨在帮助遍布全世界的人们获得其在处理 Linux 系统管理任务上能力的认证。这些能力包括支持运行的系统服务,以及第一手的故障诊断、分析,以及为工程师团队在升级时提供明智的决策。

处理 Linux 中的文本流

Linux 将程序中的输入和输出当成字符流或者字符序列。在开始理解重定向和管道之前,我们必须先了解三种最重要的I/O(输入和输出(Input and Output))流,事实上,它们都是特殊的文件(根据 UNIX 和 Linux 中的约定,数据流和外围设备(设备文件)也被视为普通文件)。

在 > (重定向操作符) 和 | (管道操作符)之间的区别是:前者将命令与文件相连接,而后者将命令的输出和另一个命令相连接。

# command >file

# command1 | command2

由于重定向操作符会静默地创建或覆盖文件,我们必须特别小心谨慎地使用它,并且永远不要把它和管道混淆起来。在 Linux 和 UNIX 系统上管道的优势是:第一个命令的输出不会写入一个文件而是直接被第二个命令读取。

在下面的操作练习中,我们将会使用这首诗——《A happy child》(作者未知)

使用 sed

sed是流编辑器(stream editor)的缩写。为那些不懂术语的人额外解释一下,流编辑器是用来在一个输入流(文件或者管道中的输入)执行基本的文本转换的工具。

sed最基本的用法是字符替换。我们将通过把每个出现的小写 y 改写为大写 Y 并且将输出重定向到 ahappychild2.txt 开始。g 标志表示 sed 应该替换文件每一行中所有应当替换的实例。如果这个标志省略了,sed 将会只替换每一行中第一次出现的实例

基本语法:

#sed's/term/replacement/flag'file

我们的样例:

在Linux上使用GNU sed的方法(gnu/linux)

#sed's/y/Y/g' ahappychild.txt > ahappychild2.txt

如果你要在替换文本中搜索或者替换特殊字符(如 /,\,&),你需要使用反斜杠对它进行转义。

例如,我们要用一个符号来替换一个文字,与此同时我们将把一行最开始出现的第一个 I 替换为 You。

#sed's/and/\&/g;s/^I/You/g' ahappychild.txt

在上面的命令中,众所周知 ^(插入符号)是正则表达式中用来表示一行开头的符号。

正如你所看到的,我们可以通过使用分号分隔以及用括号包裹来把两个或者更多的替换命令(并在它们中使用正则表达式)连接起来。

另一种 sed 的用法是显示或者删除文件中选中的一部分。在下面的样例中,将会显示 /var/log/messages 中从6月8日开始的头五行。

#sed-n '/^Jun 8/ p'/var/log/messages |sed-n 1,5p

请注意,在默认的情况下,sed 会打印每一行。我们可以使用 -n 选项来覆盖这一行为并且告诉 sed 只需要打印(用 p来表示)文件(或管道)中匹配的部分(第一个命令中指定以“Jun 8” 开头的行,第二个命令中指定一到五行)。

最后,可能有用的技巧是当检查脚本或者配置文件的时候可以保留文件本身并且删除注释。下面的单行 sed 命令删除(d)空行或者是开头为#的行(| 字符对两个正则表达式进行布尔 OR 操作)。

#sed'/^#\|^$/d' apache2.conf

uniq 命令

uniq命令允许我们返回或者删除文件中重复的行,默认写到标准输出。我们必须注意到,除非两个重复的行相邻,否则uniq 命令不会删除他们。因此,uniq 经常和一个前置的 sort 命令(一种用来对文本行进行排序的算法)搭配使用。默认情况下,sort 使用第一个字段(用空格分隔)作为关键字段。要指定一个不同的关键字段,我们需要使用 -k 选项。

样例

du –sch /path/to/directory/* 命令将会以人类可读的格式返回在指定目录下每一个子文件夹和文件的磁盘空间使用情况(也会显示每个目录总体的情况),而且不是按照大小输出,而是按照子文件夹和文件的名称。我们可以使用下面的命令来让它通过大小排序。

#du-sch /var/* | sort -h

你可以通过使用下面的命令告诉 uniq 比较每一行的前6个字符(-w 6)(这里是指定的日期)来统计日志事件的个数,而且在每一行的开头输出出现的次数(-c)。

#cat/var/log/mail.log |uniq-c -w6

上一页12 下一页 阅读全文
本文链接地址:https://www.jiuchutong.com/zhishi/278182.html 转载请保留说明!

上一篇:npscheck.exe - npscheck是什么进程 有什么用

下一篇:Win11 Dev预览版出现奇怪 Bug:电量能充到 100% 以上(windows 11预览版)

  • 如何做好微信营销(如何做好微信营销PPT)

    如何做好微信营销(如何做好微信营销PPT)

  • 荣耀play4T的处理器型号(荣耀play4tcpu)

    荣耀play4T的处理器型号(荣耀play4tcpu)

  • 微信付款码会不会变(微信付款码会不会更新)

    微信付款码会不会变(微信付款码会不会更新)

  • 拼多多评价能改吗(拼多多评价能改或者能删除吗?)

    拼多多评价能改吗(拼多多评价能改或者能删除吗?)

  • 显卡8g和6g有什么区别(显卡6gb和8gb有什么区别)

    显卡8g和6g有什么区别(显卡6gb和8gb有什么区别)

  • 腾讯视频微信登录不出二维码(腾讯视频微信登录怎么转换成QQ登录)

    腾讯视频微信登录不出二维码(腾讯视频微信登录怎么转换成QQ登录)

  • 微信怎么发四宫格(微信怎么发四宫格图片说说)

    微信怎么发四宫格(微信怎么发四宫格图片说说)

  • 华为手机充电绿色气泡(华为手机充电绿色灯怎么关闭)

    华为手机充电绿色气泡(华为手机充电绿色灯怎么关闭)

  • 支付宝账号在哪里看(淘宝的支付宝账号在哪)

    支付宝账号在哪里看(淘宝的支付宝账号在哪)

  • 华为p20怎么隐藏应用(华为P20怎么隐藏游戏)

    华为p20怎么隐藏应用(华为P20怎么隐藏游戏)

  • iphone的优化电池充电要开吗(iphone优化电池充电)

    iphone的优化电池充电要开吗(iphone优化电池充电)

  • 笔记本要一直插着电源吗(笔记本要一直插着适配器吗)

    笔记本要一直插着电源吗(笔记本要一直插着适配器吗)

  • vivoz3可以单独换外屏吗(vivoz3i可以单独换外屏吗)

    vivoz3可以单独换外屏吗(vivoz3i可以单独换外屏吗)

  • pot alooa是华为什么型号

    pot alooa是华为什么型号

  • qq登录验证码总是错误(qq登陆验证码)

    qq登录验证码总是错误(qq登陆验证码)

  • i75500u相当于几代i5(i75500u相当于几代i3)

    i75500u相当于几代i5(i75500u相当于几代i3)

  • 微信朋友圈怎么跳到顶部(微信朋友圈怎么批量删除)

    微信朋友圈怎么跳到顶部(微信朋友圈怎么批量删除)

  • ipad插卡的是哪一款(ipad 2020 插卡)

    ipad插卡的是哪一款(ipad 2020 插卡)

  • 大陆微信在香港能用吗(大陆微信在香港能不能付款)

    大陆微信在香港能用吗(大陆微信在香港能不能付款)

  • QQ恢复系统(qq恢复系统在哪里)

    QQ恢复系统(qq恢复系统在哪里)

  • 苹果11能插几个卡(苹果11能插几个移动卡)

    苹果11能插几个卡(苹果11能插几个移动卡)

  • 奇异果能看电视频道吗(奇异果能看电视剧吗)

    奇异果能看电视频道吗(奇异果能看电视剧吗)

  • 毒app订单跟踪怎么看(毒订单号怎么查订单信息)

    毒app订单跟踪怎么看(毒订单号怎么查订单信息)

  • 抖音里一张照片怎么生成视频(抖音一张照片一首歌)

    抖音里一张照片怎么生成视频(抖音一张照片一首歌)

  • 抖音怎么挂购物车(抖音怎么挂购物车赚佣金)

    抖音怎么挂购物车(抖音怎么挂购物车赚佣金)

  • 钉钉消息提醒设置方法(钉钉消息提醒设置在哪里)

    钉钉消息提醒设置方法(钉钉消息提醒设置在哪里)

  • qq音乐可以投屏吗(qq音乐可以投屏到电视上吗)

    qq音乐可以投屏吗(qq音乐可以投屏到电视上吗)

  • Javascript 如何监听input输入框值的实时变化(js控件的监听事件怎么使用)

    Javascript 如何监听input输入框值的实时变化(js控件的监听事件怎么使用)

  • vue2 sass 安装及使用(vuescan怎么安装)

    vue2 sass 安装及使用(vuescan怎么安装)

  • 【node进阶】一文带你快速入门koa框架(node l)

    【node进阶】一文带你快速入门koa框架(node l)

  • phpcms上传提示错误500怎么解决(php 上传)

    phpcms上传提示错误500怎么解决(php 上传)

  • 缴纳个人所得税还算应届毕业生吗
  • 电子发票怎么入库
  • 印花税的纳税人为书立合同双方
  • 代扣代缴完税凭证是什么
  • 投资收益分红需要交企业所得税吗
  • 资产处理损益属于什么科目借贷方向
  • 补交以前年度印花税记到哪个会计科目
  • 营改增后进项税额分摊
  • 高新研发费的账务处理怎么做?
  • 个税手续费返还计入哪个科目
  • 收到借款是承兑付款吗
  • 反倾销税税率查询
  • 工会经费由企业和职工共同负担吗
  • 房产税怎么做账
  • 挂靠别人的资质进行房屋建筑会计怎样做账?
  • 工程施工购买的材料费会计分录
  • 国家高新技术企业认定评分标准
  • 销售合同怎么计算印花税
  • 对公帐户收款
  • php bcmul
  • 工作完工结算是什么意思
  • 业务招待费税前扣除标准按照发生额的60%扣除
  • 跨年收到退回增值税税款的账务处理
  • 库存现金意思
  • hhcol.exe
  • 公债的本质是什么
  • 固定资产提足折旧后报废怎么处理
  • zendframework3
  • 企业研发费用加计扣除是什么意思
  • php 5
  • cobit框架
  • php常用的字符串函数
  • vue面试题2020
  • 清除命令窗口所有内容用()命令,清除变量用()命令
  • 帝国cms移动端
  • 承租人对融资租赁的处理原则
  • 外币应收账款汇兑损失计入
  • 商贸公司库存商品怎么做分录
  • 维修费开票属于信息技术服务吗
  • python字典添加数据
  • 劳务费个税扣税
  • 常见的垃圾回收器有哪些
  • python 进程pid
  • sql server配置文件在哪
  • 工资走公账和私账哪个好
  • 财务软件属于什么设备
  • 低值易耗品指的价格
  • 应交税费已交税金是什么意思
  • 调整以前年度费用怎么做账
  • 发行股票支付给证券商的费用计入哪
  • 现金流量表的内部结构怎么算
  • 暂估入库有时间限制吗
  • 差旅费属于什么支出类型
  • 融资租入固定资产的入账价值
  • 研究费用怎么做账
  • 旅游费计入什么会计科目
  • 预付账款余额在贷方为
  • 营改增后服务业账务处理
  • 银行存款日记账怎么填
  • 材料人工制造费用是什么成本
  • 会计年终决算怎么填写
  • 五证合一办理步骤
  • sqlserver表排序
  • u深度pe装机工具使用教程win7
  • win7安装windows无法安装所需的文件请确保
  • win10右键菜单自定义
  • git不小心改了master
  • 电脑xp系统运行速度慢
  • 苹果电脑怎么打开u盘
  • window如何删除输入法
  • windows疑难解答在哪里
  • windows mobile
  • gage blocks是什么意思
  • cocos2dx官方文档
  • js数组操作函数
  • python发送mq消息
  • android studio快捷键补全
  • python 很简单
  • js复制对象的方法有哪几种
  • 怎么判断买的盐是不是真的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设