位置: 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预览版)

  • 微信群头像怎么设置(微信群头像怎么变成空白人头)

    微信群头像怎么设置(微信群头像怎么变成空白人头)

  • 华为闪光灯怎么设置(华为闪光灯怎么开)

    华为闪光灯怎么设置(华为闪光灯怎么开)

  • iphone黑名单短信恢复怎么办(iphone黑名单短信保留吗)

    iphone黑名单短信恢复怎么办(iphone黑名单短信保留吗)

  • 话费透支是欠费了吗(话费透支有什么坏处吗)

    话费透支是欠费了吗(话费透支有什么坏处吗)

  • 腾讯会议机型不支持美颜怎么办(腾讯会议机型不支持美颜功能怎么办)

    腾讯会议机型不支持美颜怎么办(腾讯会议机型不支持美颜功能怎么办)

  • 十进制127的二进制是多少(十进制127的二进制是 ,十六进制是)

    十进制127的二进制是多少(十进制127的二进制是 ,十六进制是)

  • 高德地图如何关闭hud模式(高德地图如何关闭新手模式)

    高德地图如何关闭hud模式(高德地图如何关闭新手模式)

  • 手机变弯了是什么原因(手机变弯了怎么矫正)

    手机变弯了是什么原因(手机变弯了怎么矫正)

  • 不想收到对方信息怎么设置(不想收到对方信息怎么屏蔽)

    不想收到对方信息怎么设置(不想收到对方信息怎么屏蔽)

  • 电脑没有主机在哪开机(没有主机电脑开哪里)

    电脑没有主机在哪开机(没有主机电脑开哪里)

  • qq如何设置自定义在线(qq如何设置自定义主题背景)

    qq如何设置自定义在线(qq如何设置自定义主题背景)

  • 华为nova6第一次充电充多久(华为nova6se第一次充电充多长时间)

    华为nova6第一次充电充多久(华为nova6se第一次充电充多长时间)

  • 华为nova5pro能开空调吗(华为nova5pro能开多少帧)

    华为nova5pro能开空调吗(华为nova5pro能开多少帧)

  • 怎么在淘宝上找到商家的电话(怎么在淘宝上找自己的地址)

    怎么在淘宝上找到商家的电话(怎么在淘宝上找自己的地址)

  • 9x和9xpro区别(9x和pro有什么区别)

    9x和9xpro区别(9x和pro有什么区别)

  • airpods能连安卓吗(AirPods能连安卓手机吗)

    airpods能连安卓吗(AirPods能连安卓手机吗)

  • 华为手机哪款有nfc功能吗(华为手机哪款有nfc功能)

    华为手机哪款有nfc功能吗(华为手机哪款有nfc功能)

  • qq闪照怎么看第二次(qq闪照怎么看第二遍)

    qq闪照怎么看第二次(qq闪照怎么看第二遍)

  • 手机号怎么保存到卡上(手机号怎么保存到手机卡上)

    手机号怎么保存到卡上(手机号怎么保存到手机卡上)

  • 咸鱼拒收后可以退款吗(咸鱼拒收可以申请退货退款吗)

    咸鱼拒收后可以退款吗(咸鱼拒收可以申请退货退款吗)

  • oppoFindx前置摄像头在哪(oppofindx前置摄像头不能用)

    oppoFindx前置摄像头在哪(oppofindx前置摄像头不能用)

  • xmax和xr的区别(苹果xr和苹果xmax的区别在哪里)

    xmax和xr的区别(苹果xr和苹果xmax的区别在哪里)

  • 蚂蚁心愿怎么取消(蚂蚁心愿什么用)

    蚂蚁心愿怎么取消(蚂蚁心愿什么用)

  • 如何开机自启动win10应用(电脑软件如何开机自启动)

    如何开机自启动win10应用(电脑软件如何开机自启动)

  • 退的个税手续费怎么做会计分录
  • 上月少计提的个税本月怎么调整
  • 企业所得税的会计利润计算公式
  • 开承兑汇票的条件 费用
  • 材料按实际成本计价时发出成本的计算方法有
  • 原材料不良品的处理流程
  • 小规模纳税人出租
  • 养老保险滞纳金最高限额规定
  • 经营所得税投资者减除费用
  • 小企业货币资金1710元正常吗
  • 公允价值确定方法最新
  • 企业授予员工股份的条件
  • 工程设备租赁带什么手续
  • 计算完工产品成本和月末在产品成本
  • 折价收购股权会计分录
  • 营改增后哪些费用可以抵扣
  • 企业进项发票不够
  • 城建税教育费附加税率怎么计算
  • 一般纳税人和小微企业的区别
  • 特殊行业会计公司排名
  • 生产负荷的计算
  • 进口增值税计入关税完税价格吗
  • 公司购买床垫怎样入账
  • 资产评估合同属于什么合同
  • 增值税进项税额抵扣期限最新
  • 怎么在bios中开启硬件虚拟化
  • 剑灵配置要求2020官方
  • 电子发票上的电子税章如何才能自动生成
  • 入库的原材料属于什么科目
  • 当月认证抵扣的进项税发票一定要入帐做成本吗?
  • 柬埔寨 吴哥窟
  • react中的key的作用
  • js解耦
  • thinkphp yii
  • Win11 Build 25336 预览版发布:Snap 窗口新增最近 20 个标签选项
  • 企业年报网上申报入口贵州
  • 增资扩股税务处罚标准
  • 代建工程开发成本核算应设置的会计科目是( )
  • 房屋维修费属于什么税收分类编码
  • 罚款属于其他业务收入吗
  • sqlserver数据库锁表如何解锁
  • 小规模纳税人代销商品增值税如何计算
  • 不可抵消
  • 收到的现金折扣
  • 发票先认证后入账怎么做账
  • 被列为经营异常的企业合法吗
  • 为什么说资产负债表是静态报表
  • 银行日记账更正
  • 合伙企业与公司相比,有什么优势呢?
  • 测绘费如何入账
  • 客观原因怎么写
  • 应收账款周转率计算公式
  • 其他业务收入与其他业务成本的关系
  • 退回的企业所得税计入什么科目
  • 营业外收入属于借方还是贷方
  • mysql数据库技术介绍
  • 运行软件时遇到的问题
  • linux nfs默认服务端口
  • xp系统java环境变量配置
  • deepin直接安装
  • windows 10为什么不能关掉自动更新
  • windows文件丢失怎么修复
  • win7 0x80070002处理方法
  • linux的curl
  • win7temp文件夹在哪
  • 老生常谈的近义词
  • android本地保存数据
  • 点击滑块是什么意思
  • js实现组件功能
  • unity脚本编写教程
  • javascript中cookie
  • 重写SimpleAdapter的getView以实现按钮点击响应
  • 安卓短信提示
  • jquery有哪些
  • js回调函数应用场景
  • 广东税务局一般几点上班
  • 关注龙江医保
  • 专票怎么查询已开记录
  • 提租补贴什么标准发放
  • 山东地税app
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设