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

  • 支付宝小鸡怎么不见了(支付宝小鸡怎么快速得到蛋)

    支付宝小鸡怎么不见了(支付宝小鸡怎么快速得到蛋)

  • cpu温度过高(cpu温度)(CPU温度过高会怎么样)

    cpu温度过高(cpu温度)(CPU温度过高会怎么样)

  • 华为mate30pro时间怎么设置24小时制

    华为mate30pro时间怎么设置24小时制

  • 华为p40pro后盖是什么材质(华为p40pro后盖是否原装)

    华为p40pro后盖是什么材质(华为p40pro后盖是否原装)

  • 苹果手机大于150m如何下载(苹果手机大于150w充电器)

    苹果手机大于150m如何下载(苹果手机大于150w充电器)

  • 快手退款关闭怎样再申请退款(快手退款关闭怎么退款)

    快手退款关闭怎样再申请退款(快手退款关闭怎么退款)

  • 网卡算不算设备(网卡属于输入设备还是输出设备)

    网卡算不算设备(网卡属于输入设备还是输出设备)

  • 国产屏幕和原装区别(国产屏幕和原装屏幕有什么区别苹果)

    国产屏幕和原装区别(国产屏幕和原装屏幕有什么区别苹果)

  • 9400核显什么水平(i5-9400核显)

    9400核显什么水平(i5-9400核显)

  • 抖音小程序申请要钱吗(抖音小程序申请步骤)

    抖音小程序申请要钱吗(抖音小程序申请步骤)

  • 腾讯会议共享屏幕是什么意思(腾讯会议共享屏幕会不会泄露个人信息)

    腾讯会议共享屏幕是什么意思(腾讯会议共享屏幕会不会泄露个人信息)

  • 手机qq突然发不了语音(手机qq突然发不出消息)

    手机qq突然发不了语音(手机qq突然发不出消息)

  • 什么叫快剪视频(快剪视频剪辑)

    什么叫快剪视频(快剪视频剪辑)

  • 电池健康掉的特别快是什么原因(电池健康掉的特别快怎么办)

    电池健康掉的特别快是什么原因(电池健康掉的特别快怎么办)

  • 画图ad软件是什么(ad画图软件安装教程)

    画图ad软件是什么(ad画图软件安装教程)

  • 拉黑又删除对方还能加回来么(拉黑又删除对方是什么心理)

    拉黑又删除对方还能加回来么(拉黑又删除对方是什么心理)

  • 华为nova5pro有没有nfc功能(华为nova5pro有没有OTG功能)

    华为nova5pro有没有nfc功能(华为nova5pro有没有OTG功能)

  • 苹果游戏充值退款后充值的道具还收回吗(苹果游戏充值退款绝对成功的理由)

    苹果游戏充值退款后充值的道具还收回吗(苹果游戏充值退款绝对成功的理由)

  • 7天网络怎么授权(七天网络怎么授权)

    7天网络怎么授权(七天网络怎么授权)

  • 未接通有几种情况(什么叫未接通)

    未接通有几种情况(什么叫未接通)

  • 快手mcn入驻条件(快手加入mcn有什么坏处)

    快手mcn入驻条件(快手加入mcn有什么坏处)

  • 小米8值得入手吗(小米8值得入手吗2023)

    小米8值得入手吗(小米8值得入手吗2023)

  • 网易云更换绑定手机号(网易云更换绑定的手机号原来的东西还在吗)

    网易云更换绑定手机号(网易云更换绑定的手机号原来的东西还在吗)

  • 解决:Windows10更新后缺少无线网络适配器(windows10更新怎么办)

    解决:Windows10更新后缺少无线网络适配器(windows10更新怎么办)

  • 如何使用这些工具自定义 Windows 11 外观(如何巧用工具)

    如何使用这些工具自定义 Windows 11 外观(如何巧用工具)

  • Win10最新kb5007253补丁怎么安装?(win10最新版本22h2激活)

    Win10最新kb5007253补丁怎么安装?(win10最新版本22h2激活)

  • 口腔发炎怎么办(口腔发炎怎么办最快最有效的方法)

    口腔发炎怎么办(口腔发炎怎么办最快最有效的方法)

  • mdir命令  显示MS-DOS目录(mdadm命令详解)

    mdir命令 显示MS-DOS目录(mdadm命令详解)

  • 对公账户要收手续费吗
  • 小规模企业申报时间
  • 鲜花虫草开发票属于什么类别?
  • 水利基金在哪个科目核算
  • 财务章备案和不备份区别
  • 公司两年账没做
  • 软件平台服务公司的营业执照经营范围怎么写
  • 维修费收入怎么结转成本
  • 收到外境来电
  • 基本账户可以转移吗
  • 销售收入是不是营业收入
  • 广告公司如何申报文化事业建设税
  • 购销合同印花税最新政策2023
  • 专票丢失登报后怎么处理
  • 个体户没有营业执照怎么举报
  • 耗材如何入账
  • 商业企业购进应税消费品可以抵扣吗
  • 政府给的专款专用发票
  • 税务局每年都会查我公司虚开发票
  • 商业营业用房经营租赁税率是多少
  • 把黑龙江省
  • 财务保证金怎么做分录
  • 货物和劳务
  • 正常消耗的直接材料计入当期损益
  • 房地产预售阶段增值税进项
  • 金蝶财务软件录入凭证
  • 生产人员社保怎么做账
  • 进料加工出口退税计算 计划分配率
  • 一次性计提折旧的政策
  • 投资新公司的账务处理
  • 交易性金融资产公允价值变动计入
  • 申报表30栏一直不填写会怎么样
  • 期末余额跟年初余额是什么意思
  • php 错误和异常处理
  • 收到境外服务费可以退税吗
  • 缴纳税款滞纳金怎么算
  • python多线程编程案例
  • 加计抵减退税的会计分录
  • day11-Servlet01
  • 什么是电子承诺
  • 固定资产对外投资
  • 盘盈盘亏怎么填写
  • 小微企业季度收入
  • 被列为经营异常的企业合法吗
  • 增值税普通发票有什么用
  • 增值税专用发票的税率是多少啊
  • 增值税专用发票抵扣期限
  • 厂家给的返利应该怎么做会计分录
  • 委托销售产品如何做账
  • win10系统如何将c盘的软件移到d盘
  • windows7桌面出现一个窗口删除不了
  • 怎么查看win7系统电脑访问了哪些应用程序
  • 文件选项夹在哪里
  • xp文件夹选项不见了怎么办
  • Win7的sysprep工具怎么用 win7自带sysprep工具重置系统方法
  • linux nc命令详解
  • linuxvim编辑器的用法
  • win7z
  • win7免费升win8
  • linux常用命令useradd
  • hyper虚拟机连接外网
  • w7系统序列号怎么查
  • jQuery+PHP实现可编辑表格字段内容并实时保存
  • 批处理新建多个文件夹
  • OpenGL super bible(5th) 学习笔记 -- 像素缓冲区对象(PBO)
  • require jquery
  • javascript教程
  • JS中call/apply、arguments、undefined/null方法详解
  • 每天一篇小练笔主题
  • jQuery插件ajaxfileupload.js实现上传文件
  • js判断设备
  • jquery常用函数
  • Mac Error Create Android Project - “Errors running builder 'Android Resource Manager' on project”
  • 中国税务稽查官网
  • 增值税报表进项税和销项税都不填可以吗
  • 辽宁省疫情期间工资发放标准
  • 连云港税务局网站
  • 中国税务客服工作时间
  • 房没交契税和物业维修金房屋预告登记证明可以打印吗
  • 财税专业全称叫什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设