返回顶部
首页 > 资讯 > 服务器 >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://lsjlt.com/news/18153.html(转载时请注明来源链接)

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

猜你喜欢
  • 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
  • Node.js 路由简明指南:从初学者到专家
    基础概念:路由是将请求映射到处理程序的机制。Node.js 中,通常使用框架(如 Express.js)来处理路由。 安装 Express.js:使用 npm(Node 包管理器)安装 Express.js:npm install ex...
    99+
    2024-04-02
  • CSS初学者实用技巧有哪些
    这篇文章主要介绍“CSS初学者实用技巧有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS初学者实用技巧有哪些”文章能帮助大家解决问题。1.如何在CSS中修复...
    99+
    2024-04-02
  • 初学者如何使用AJAX
    本篇内容介绍了“初学者如何使用AJAX”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.创建 XMLHtt...
    99+
    2024-04-02
  • 初学者怎么使用Node.js
    这篇文章主要讲解了“初学者怎么使用Node.js”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“初学者怎么使用Node.js”吧!What is Node.j...
    99+
    2024-04-02
  • 初学者怎么使用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
    初学者 字符 动画
  • Node.js:为初学者设计的实用指南
    介绍 Node.js 是一个基于 Chrome V8 引擎构建的开放源代码、跨平台 JavaScript 运行时环境。它使开发人员能够使用 JavaScript 编写服务器端代码,从而简化了Web应用程序开发。 安装 首先,需要在系统上...
    99+
    2024-03-09
    Node.js、JavaScript、后端开发、Web应用程序
  • Laravel 和 CodeIgniter 对于初学者来说哪一个更友好?
    对于初学者来说,codeigniter 的学习曲线更平缓,功能较少,但涵盖了基本需求。laravel 提供了更广泛的功能集,但学习曲线稍陡。在性能方面,laravel 和 codeign...
    99+
    2024-05-12
    laravel
  • 初学者怎么使用Application Cache
    这篇文章主要介绍“初学者怎么使用Application Cache”,在日常操作中,相信很多人在初学者怎么使用Application Cache问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2024-04-02
  • Python初学者必看:简明易懂的pip安装指南
    Python新手必备:简单易懂的pip安装教程 引言:在Python编程中,安装外部库是非常重要的一步。而pip作为Python官方推荐的包管理工具,简单易懂且功能强大,成为Python新手必备技能之一。本文将为大家介绍pip的...
    99+
    2024-01-16
    Python pip 安装教程
  • 为 Golang 初学者扫盲:常见难题的明晰解答
    解决 golang 初学者的常见难题:访问全局变量: 使用 global_variable 语法,如 global_variable_x。修改函数参数值: 使用引用传递(指针),如 *y...
    99+
    2024-05-06
    golang 初学者
  • HTML5初学者实用的CSS代码有哪些
    这篇文章主要介绍“HTML5初学者实用的CSS代码有哪些”,在日常操作中,相信很多人在HTML5初学者实用的CSS代码有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”HT...
    99+
    2024-04-02
  • 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
  • PHP Composer 使用指南:初学者入门
    composer 是一款 php 依赖管理器,初学者可通过以下步骤上手使用:安装 composer:下载并安装 composer。composer.json:创建依赖清单文件,包含项目名...
    99+
    2024-05-14
    php composer
  • Android Studio初学者实例:RecyclerView学习--模仿今日头条
    本案例来自于学校的一个简单的课程实验 先看效果图,可以显然的看到,一些item是不同的布局,而其他布局就是简单的布局嵌套 看一下xml代码: ...
    99+
    2023-10-21
    android studio 学习 android
  • Java API中哪些编程算法对于初学者来说较为友好?
    Java作为一种广泛应用的编程语言,其API中集成了许多编程算法。初学者在学习Java编程时,需要掌握这些算法的使用方法。但是,初学者往往对于这些算法的复杂性感到困惑,因此,本文将介绍Java API中哪些编程算法对于初学者来说比较友好。 ...
    99+
    2023-10-25
    api 编程算法 编程算法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作