广告
返回顶部
首页 > 资讯 > 服务器 >sed初学者实用说明
  • 765
分享到

sed初学者实用说明

初学者sed 2022-06-04 21:06:13 765人浏览 薄情痞子
摘要

例如,在多个系统、应用程序安装之后,我们往往需要对很多配置文件进行修改,用vi编辑器意味着耗费时间、重复劳动,而sed就可将我们从繁重的重复劳动中解放出来。 sed的调用方式: 1、sed [sed选项]

例如,在多个系统、应用程序安装之后,我们往往需要对很多配置文件进行修改,用vi编辑器意味着耗费时间、重复劳动,而sed就可将我们从繁重的重复劳动中解放出来。

sed的调用方式:

1、sed [sed选项] 'sed命令' 要修改的文件
2、sed [sed选项] -f sed脚本 要修改的文件
3、sed脚本 [sed选项] 要修改的文件

这里仅介绍最常用的第一种方式

sed选项:仅列常用的

-i:直接修改源文件(不用这个选项的话无法直接修改,必须重定向到新文件,如果仅作为输出测试则不需此选项),还可将源文件修改前备份
sed -i.bak 's/123/234/' test.txt 将test.txt备份为test.txt.bak,然后将文件内行第一个出现的“123”替换为“234”
-e:多次编辑,例如先将所有的123替换为234,再将第7行前加#号注释
sed -i -e 's/123/234/g' -i -e '7 s/^/#/' test.txt
-f:指定sed脚本文件名
-n:取消默认的输出(不打印),用sed不加任何选项的话你会看到所有内容输出,并不是按照sed命令所限制的条件输出,那么配合“p”命令经可以过滤掉不符合条件的行,并显示出符合条件的行,例如
sed -n '查找所有包含字符123的行'p test.txt 或 sed -n '查找所有包含字符123的行p' test.txt

sed命令:这里可以使用正则表达式,如遇特殊字符,需用“”来屏蔽其特殊含义,例如“$”表示普通的字符$

x x为某行行号
x,y 例如2,5,从第2行到第5行
/val/ 查询包含“val”字符的行
/val1/val2/ 查询包含两个模式的行
val/,x 在给定行号的行上查询包含“val”的行
x,/val/ 通过行号和模式查询匹配的行
x,y! 不包含指定行号x,y的行

p 打印匹配的行
= 显示行号
a 在定位了的行之后附加内容
i 在定位了的行之后插入内容
d 删除定位的行,例如:2d 代表删除第2行
c 用新文本替换定位行的文本
s 替换,形式为:'s/查找的内容/替换的内容/'
g 进行全局替换,如不使用此选项将只对该行匹配到的第一个结果进行替换,该行下一个匹配的就不处理了。
...其他就不介绍了,百度搜下吧

实例学习
test.txt文件内容为
The honeysuckle band played all night long for only $90
It was an evening of splendid music and company
Too bad the disco floor fell through at 23:10
The local nurse Miss P.Neave was in attendance

1、显示第2行的内容
sed -n '2p' test.txt

2、显示第1到3行的内容
sed -n '1,3'p test.txt

3、仅显示包含“disco”的行
sed -n '/disco/'p test.txt

4、显示包含“$”字符的行
sed -n '/$/'p test.txt

5、显示以数字结尾的行,[0-9]是正则表达式 代表数字0到9;“$”表示行尾(“^”表示行首)
sed -n '/[0-9]$/'p test.txt
显示结果为:
The honeysuckle band played all night long for only $90
Too bad the disco floor fell through at 23:10

6、显示以数字结尾的行并显示以大写T为开头的行
sed -n -e '/^T/'p -e '/[0-9]$/'p test.txt

7、匹配任意字母、后跟任意字母的多次重复,并以“ing”结尾的行
sed -n '/.*ing/'p test.txt

8、第一行与最后一行
sed -n '1p' test.txt
sed -n '$p' test.txt

9、将“nurse”改为“little nurse”,“&”命令用来重新调用被替换的内容
sed -n 's/nurse/little &/p' test.txt

10、先将所有的123替换为234,再将第7行前加#号注释
sed -i -e 's/123/234/g' -i -e '7 s/^/#/' test.txt

11、将“--------”删除,将空行删除,将第一行和最后一行删除,并打印第一列
文件内容:
Database Size(MB) Date Created
------------------------------------------
Mysql 2244 12/11/08
test 5632 12/11/08

(2 rows affected)
命令:
cat test.txt | sed 's/--*//g' | sed '/^$/d' | sed '$d' | sed '1d' | awk '{print $1}'
显示结果:
mysql
test
说明:
使用s/--*//g删除横线-------
使用/^$/d删除空行
使用$d删除最后一行
使用1d删除第一行
awk {print $1}打印第一列

12、一些杂项例子
^[0-9]表示行第一个字符为任意数字,例如“1asdf”;
^[0-9]*表示行首包含任意个数的数字,例如“1818asdf”
[0-9][0-9]*$表示行尾包含至少2个数字,例如“asdfasdf18”“asdf1818”
sed -i 's/^[0-9]*//g' test.txt 删除行首的任意数字
sed -i -e 's/^[0-9]*//g' -i -e 's/$/& passed/' test.txt 删除行首任意数字,并在每行结尾加上“ passed”
sed -i -e 's/^/#&' test.txt 给每行行首加上“#”注释
s/.$//g 删除以句点结尾的行的句点
s/^[ ][ ]*// 删除行首的任意个空格
s/^.// 删除行首的第一个字符
s/^/// 删除行首的“/”字符
s/SP(..)//g 删除字符“SP”以及紧跟其后的两个任意字符,“SPLLY”-->“Y”

--结束END--

本文标题: sed初学者实用说明

本文链接: https://www.lsjlt.com/news/18153.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • sed初学者实用说明
    例如,在多个系统、应用程序安装之后,我们往往需要对很多配置文件进行修改,用vi编辑器意味着耗费时间、重复劳动,而sed就可将我们从繁重的重复劳动中解放出来。 sed的调用方式: 1、sed [sed选项] ...
    99+
    2022-06-04
    初学者 sed
  • java中最常用jar包的用途说明,适合初学者
    在Java开发中,有很多常用的JAR包(Java Archive),这些JAR包是预编译的Java类、资源和元数据的集合,它们能够提...
    99+
    2023-09-05
    java
  • CSS初学者实用技巧有哪些
    这篇文章主要介绍“CSS初学者实用技巧有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS初学者实用技巧有哪些”文章能帮助大家解决问题。1.如何在CSS中修复...
    99+
    2022-10-19
  • 初学者如何使用AJAX
    本篇内容介绍了“初学者如何使用AJAX”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.创建 XMLHtt...
    99+
    2022-10-19
  • 初学者怎么使用Node.js
    这篇文章主要讲解了“初学者怎么使用Node.js”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“初学者怎么使用Node.js”吧!What is Node.j...
    99+
    2022-10-19
  • 初学者怎么使用Python
    这篇文章主要讲解了“初学者怎么使用Python”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“初学者怎么使用Python”吧!1. 使用列表时列表允许存储各种数据类型的元素且不限制大小,尽管这...
    99+
    2023-06-16
  • 初学者学习 python实现字符动画
     原文链接:https://github.com/grzhan/badapple_ascii_anime/blob/master/bad_apple_ascii_vcommment.py 参考资源:http://qinxuye.me/ar...
    99+
    2023-01-31
    初学者 字符 动画
  • 初学者怎么使用Application Cache
    这篇文章主要介绍“初学者怎么使用Application Cache”,在日常操作中,相信很多人在初学者怎么使用Application Cache问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2022-10-19
  • HTML5初学者实用的CSS代码有哪些
    这篇文章主要介绍“HTML5初学者实用的CSS代码有哪些”,在日常操作中,相信很多人在HTML5初学者实用的CSS代码有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”HT...
    99+
    2022-10-19
  • Android Studio初学者实例:ListView学习--购物商城
    此实践案例由课堂上学习ListView控件提供。先上效果图,使用Listview控件实现一个简单的购物商城界面 显然,界面由Textview与ListView构成,看一下XML代码 父布局使用LinearLayout布局,我也是比较喜欢用...
    99+
    2023-10-25
    android android studio ide
  • 适合初学者的Python实践有哪些
    这篇文章主要讲解了“适合初学者的Python实践有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“适合初学者的Python实践有哪些”吧!1. DocstringDocstring 是Py...
    99+
    2023-06-16
  • Linux中常用命令(初学者必备)
    目录 一 .学习Linux终端命令的原因 二 .linux常用指令 ls命令  pwd指令 whoami指令 clear指令  cd指令 touch指令 mkdir指令 rmdir指令 rm指令  mv指令  ...
    99+
    2023-08-31
    linux 服务器 debian
  • Java API中哪些编程算法对于初学者来说较为友好?
    Java作为一种广泛应用的编程语言,其API中集成了许多编程算法。初学者在学习Java编程时,需要掌握这些算法的使用方法。但是,初学者往往对于这些算法的复杂性感到困惑,因此,本文将介绍Java API中哪些编程算法对于初学者来说比较友好。 ...
    99+
    2023-10-25
    api 编程算法 编程算法
  • Android Studio初学者实例:RecyclerView学习--模仿今日头条
    本案例来自于学校的一个简单的课程实验 先看效果图,可以显然的看到,一些item是不同的布局,而其他布局就是简单的布局嵌套 看一下xml代码: ...
    99+
    2023-10-21
    android studio 学习 android
  • 学习MySQL数据库技术对于初入职场者来说有多重要?
    学习MySQL数据库技术对于初入职场者来说有多重要?随着信息化时代的到来,数据库技术成为了企业中不可或缺的一部分。作为初入职场者,在这个竞争激烈的就业市场中,掌握MySQL数据库技术不仅能够提高自身竞争力,还能够为个人职业发展打下坚实的基础...
    99+
    2023-10-22
    MySQL 数据库 职场。
  • 初学者使用Mac绘图软件推荐
    对于刚接触绘图的朋友来说一款好用的绘图软件是必不可少的!可是有什么软件比较适合初学者呢?我为大家推荐的是sketchbook pro Mac版,一般软件对于初学者来说工具多的眼花缭乱,初学者所需要的是一款能够简简单单表达您的想法的绘图软件,...
    99+
    2023-06-05
  • MYSQL初学者使用指南--(由MYSQL.CN转帖)
    MYSQL初学者使用指南有很多朋友虽然安装好了mysql但却不知如何使用它。在这篇文章中我们就从连接mysql、修改密码、增加用户等方面来学习一些mysql的常用命令。一、连接mysql。格式: mysql...
    99+
    2022-10-18
  • graphviz最新安装教程适用初学者
    目录1、首先在官网下载graphviz2、安装。3、配置环境变量4、测试5、再次配置1、首先在官网下载graphviz 下载网址:https://www.graphviz.org/d...
    99+
    2023-02-09
    graphviz 安装教程 graphviz 使用 graphviz 安装
  • Android Studio初学者实例:SQLite实验:绿豆通讯录
    本次实验是使用SQLite对一个通讯录表进行简单增删改查 以下是实验效果:  首先是继承SQLiteOpenHelper的数据库自定义类 对于此类必须继承于SQLiteOpenHelper ,当new创造该类的实例的时候会执行创建数据库...
    99+
    2023-10-21
    sqlite android 数据库
  • Android Studio初学者实例:Fragment学习--仿美团外卖界面
    本次课程为Fragment为主题,课程的示例仿美团外卖界面,不同于底部导航栏的Fragment案例,此界面分为左侧切换与顶部切换。本文先是发布代码与效果,后续讲解将会在后续补充。先看看效果: 首先是布局文件代码:Activity布局:ac...
    99+
    2023-10-26
    android studio 学习 android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作