广告
返回顶部
首页 > 资讯 > 操作系统 >Linux下sed命令的用法介绍
  • 163
分享到

Linux下sed命令的用法介绍

2023-06-05 12:06:21 163人浏览 八月长安
摘要

这篇文章主要讲解了“linux下sed命令的用法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下sed命令的用法介绍”吧!Linux sed命令详细说明sed是一种用于过滤和转

这篇文章主要讲解了“linux下sed命令的用法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下sed命令的用法介绍”吧!

Linux sed命令详细说明

sed是一种用于过滤和转换文本的流编辑器。用于对输入流(文件或来自管道的输入)执行基本文本转换。

虽然sed在某些方面类似于允许脚本编辑(如ed)的编辑器,但它的工作方式是只传递一次输入,因此效率更高。

思考:

查看当前服务器IP

[root@cjcos01 cjc]# ifconfig

通过ifconfig虽然可以查看IP,但是打印出很多并不关注的信息,如何去掉这部分无用的信息?

可以通过sed加grep实现,方法见后面的示例。

测试数据

[root@cjcos01 cjc]# cat t1.txt 

tao花庵歌tao花坞里tao花庵,tao花庵下tao花仙;tao花仙人种tao树,又摘tao花卖酒钱。酒醒只在花前坐,酒醉还来花下眠;半醒半醉日复日,花落花开年复年。但愿老死花酒间,不愿鞠躬车马前;车尘马足富者趣,酒盏花枝贫者缘。若将富贵比贫贱,一在平地一在天;若将贫贱比车马,他得驱驰我得闲。别人笑我太疯癫,我笑他人看不穿;不见五陵豪杰墓,无花无酒锄作田。

1 打印行

打印第二行 

[root@cjcos01 cjc]# sed -n '2p' /cjc/t1.txt

tao花坞里tao花庵,tao花庵下tao花仙;

打印第2-5行

[root@cjcos01 cjc]# sed -n '2,5p' /cjc/t1.txt

tao花坞里tao花庵,tao花庵下tao花仙;tao花仙人种tao树,又摘tao花卖酒钱。酒醒只在花前坐,酒醉还来花下眠;半醒半醉日复日,花落花开年复年。

打印第10行到结尾行

[root@cjcos01 cjc]# sed -n '10,$p' /cjc/t1.txt

别人笑我太疯癫,我笑他人看不穿;不见五陵豪杰墓,无花无酒锄作田。

打印第2行,第6行,第8,9,10行

[root@cjcos01 cjc]# sed -n '2p;6p;8,10p' /cjc/t1.txt

tao花坞里tao花庵,tao花庵下tao花仙;但愿老死花酒间,不愿鞠躬车马前;若将富贵比贫贱,一在平地一在天;若将贫贱比车马,他得驱驰我得闲。别人笑我太疯癫,我笑他人看不穿;

打印含有tao字的行

[root@cjcos01 cjc]# sed -n '/tao/p' /cjc/t1.txt 

tao花庵歌tao花坞里tao花庵,tao花庵下tao花仙;tao花仙人种tao树,又摘tao花卖酒钱。

打印"酒"字开头的行

[root@cjcos01 cjc]#  sed -n '/^酒/p' /cjc/t1.txt 

酒醒只在花前坐,酒醉还来花下眠;

打印"。"结尾的行

[root@cjcos01 cjc]#  sed -n '/\。$/p' /cjc/t1.txt 

tao花仙人种tao树,又摘tao花卖酒钱。半醒半醉日复日,花落花开年复年。车尘马足富者趣,酒盏花枝贫者缘。若将贫贱比车马,他得驱驰我得闲。不见五陵豪杰墓,无花无酒锄作田。

2 插入行

[root@cjcos01 cjc]# cp t1.txt t1.txt.bak

人为多愁少年老,花为无愁老少年。年老少年都不管,且将诗酒醉花前。

行前添加,写入源文件

[root@cjcos01 cjc]# sed -i '2i 人为多愁少年老,花为无愁老少年。' /cjc/t1.txt

[root@cjcos01 cjc]# cat t1.txt

tao花庵歌人为多愁少年老,花为无愁老少年。tao花坞里tao花庵,tao花庵下tao花仙;......

行后添加(直接修改原文件)

[root@cjcos01 cjc]# sed -i '2a 年老少年都不管,且将诗酒醉花前。' /cjc/t1.txt

[root@cjcos01 cjc]# cat t1.txt

tao花庵歌人为多愁少年老,花为无愁老少年。年老少年都不管,且将诗酒醉花前。tao花坞里tao花庵,tao花庵下tao花仙;......

3 替换行(直接修改原文件) 

[root@cjcos01 cjc]# sed -i '2c 闲来写就青山卖,不使人间造孽钱。' /cjc/t1.txt

[root@cjcos01 cjc]# cat t1.txt

tao花庵歌闲来写就青山卖,不使人间造孽钱。年老少年都不管,且将诗酒醉花前。......

4 替换字符 

-n 's/old/new/p' 将文件中每行的第一个old字符换成new字符,打印出只发生变化的行,且源文件内容不变

[root@cjcos01 cjc]# sed -n 's/tao/荷/p' /cjc/t1.txt 

荷花庵歌荷花坞里tao花庵,tao花庵下tao花仙;荷花仙人种tao树,又摘tao花卖酒钱。

-n 's/old/new/pg':将文件中全部的old字符换成new字符,打印出只发生变化的行,且源文件内容不变。

[root@cjcos01 cjc]# sed -n 's/tao/荷/pg' /cjc/t1.txt 

荷花庵歌荷花坞里荷花庵,荷花庵下荷花仙;荷花仙人种荷树,又摘荷花卖酒钱。

-n 's/old/new/p3g' :将文件中每行从第3个old字符开始换成new字符,打印出只发生变化的行,且源文件内容不变

[root@cjcos01 cjc]# sed -n 's/tao/荷/p3g' /cjc/t1.txt 

tao花坞里tao花庵,荷花庵下荷花仙;tao花仙人种tao树,又摘荷花卖酒钱。

-i,将文件中每行的第一个old字符换成new字符,修改源文件内容

[root@cjcos01 cjc]# sed -i 's/tao/荷/g' /cjc/t1.txt 

[root@cjcos01 cjc]# sed -i 's/荷/tao/g' /cjc/t1.txt 

5 删除行

删除第2行

[root@cjcos01 cjc]# sed -i '2d' /cjc/t1.txt

删除第3到5行

[root@cjcos01 cjc]# sed -i '3,5d' /cjc/t1.txt

删除第2行,第4,5,6行

[root@cjcos01 cjc]# sed -i '2d;4,6d' /cjc/t1.txt

举例:

例1: 只显示ifconfig中的IP地址

[root@cjcos01 ~]# ifconfig |grep "inet"|grep -v "inet6"|grep -v "127.0.0.1"|grep -v "122.1"|sed 's/netmask.*//'|sed 's/^.*inet//' 192.168.38.10

例2:去掉ssh配置文件中的带#行和空行,不修改源文件,将结果打印到前台

[root@cjcos01 cjc]# echo >t1.txt

[root@cjcos01 cjc]# cat /etc/ssh/ssh_config > t1.txt

[root@cjcos01 cjc]# sed 's/#.*//g' /cjc/t1.txt |sed '/^$/d'

Host *GSSapiAuthentication yesForwardX11Trusted yesSendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGESSendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENTSendEnv LC_IDENTIFICATION LC_ALL LANGUAGESendEnv XMODIFIERS

例3:每一行结尾为.的换成!("."需要加转义符),不改变源文件(指定-i会改变源文件)

[root@cjcos01 cjc]# sed -n 's/\.$/!/p' /cjc/t1.txt

GSSAPIAuthentication yes!ForwardX11Trusted yes!SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT!

例4:以H开头的行末尾加上@@@

[root@cjcos01 cjc]# sed -n 's/^H.*$/&@@@/p' /cjc/t1.txt 

Host *@@@

sed帮助信息:

[root@cjcos01 ~]# sed --helpUsage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...  -n, --quiet, --silent                 suppress automatic printing of pattern space  -e script, --expression=script                 add the script to the commands to be executed  -f script-file, --file=script-file                 add the contents of script-file to the commands to be executed  --follow-symlinks                 follow symlinks when processing in place  -i[SUFFIX], --in-place[=SUFFIX]                 edit files in place (makes backup if SUFFIX supplied)  -c, --copy                 use copy instead of rename when shuffling files in -i mode  -b, --binary                 does nothing; for compatibility with WIN32/CYGWIN/MSDOS/EMX (                 open files in binary mode (CR+LFs are not treated specially))  -l N, --line-length=N                 specify the desired line-wrap length for the `l' command  --posix                 disable all GNU extensions.  -r, --regexp-extended                 use extended regular expressions in the script.  -s, --separate                 consider files as separate rather than as a single continuous                 long stream.  -u, --unbuffered                 load minimal amounts of data from the input files and flush                 the output buffers more often  -z, --null-data                 separate lines by NUL characters  --help                 display this help and exit  --version                 output version infORMation and exitIf no -e, --expression, -f, or --file option is given, then the firstnon-option argument is taken as the sed script to interpret.  Allremaining arguments are names of input files; if no input files arespecified, then the standard input is read.GNU sed home page: <Http://www.gnu.org/software/sed/>.General help using GNU software: <http://www.gnu.org/gethelp/>.E-mail bug reports to: <bug-sed@gnu.org>.Be sure to include the Word ``sed'' somewhere in the ``Subject:'' field.
[root@cjcos01 ~]# man sedNAME       sed - stream editor for filtering and transforming textSYNOPSIS       sed [OPTION]... {script-only-if-no-other-script} [input-file]...DESCRIPTION       Sed  is  a stream editor.  A stream editor is used to perform basic text transformations       on an input stream (a file or input from a pipeline).  While in some ways similar to  an       editor which permits scripted edits (such as ed), sed works by making only one pass over       the input(s), and is consequently more efficient.  But it is  sed's  ability  to  filter       text in a pipeline which particularly distinguishes it from other types of editors.......SEE ALSO       awk(1), ed(1), grep(1), tr(1), perlre(1), sed.info, any of various books on sed, the sed       FAQ (http://sed.sf.net/grabbag/tutorials/sedfaq.txt), http://sed.sf.net/grabbag/.       The full documentation for sed is maintained as a Texinfo manual.  If the info and sed       programs are properly installed at your site, the command              info sed
[root@cjcos01 ~]# info sedFile: sed.info,  node: Top,  Next: Introduction,  Up: (dir)sed, a stream editor********************This file documents version 4.2.2 of GNU `sed', a stream editor.......

感谢各位的阅读,以上就是“Linux下sed命令的用法介绍”的内容了,经过本文的学习后,相信大家对Linux下sed命令的用法介绍这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Linux下sed命令的用法介绍

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

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

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

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

下载Word文档
猜你喜欢
  • Linux下sed命令的用法介绍
    这篇文章主要讲解了“Linux下sed命令的用法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下sed命令的用法介绍”吧!Linux sed命令详细说明sed是一种用于过滤和转...
    99+
    2023-06-05
  • linux中sed命令的用法介绍
    本篇内容介绍了“linux中sed命令的用法介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!sed命令行格式为:  &...
    99+
    2023-06-13
  • Linux下sed命令的用法
    本篇内容介绍了“Linux下sed命令的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Sed简介Sed:Stream Editor&...
    99+
    2023-06-12
  • Linux系统中sed命令的使用介绍
    本篇内容主要讲解“Linux系统中sed命令的使用介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中sed命令的使用介绍”吧!sed是linux轻量级流编辑器,用于行的操作,主要...
    99+
    2023-06-13
  • Linux下tar命令的用法介绍
    这篇文章主要介绍“Linux下tar命令的用法介绍”,在日常操作中,相信很多人在Linux下tar命令的用法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下tar命令的用法介绍”的疑惑有所帮助!...
    99+
    2023-06-12
  • Linux下Ldd命令介绍及使用方法
    本篇内容主要讲解“Linux下Ldd命令介绍及使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下Ldd命令介绍及使用方法”吧!Linux Ldd参数说明:--version  打...
    99+
    2023-06-13
  • Linux xargs命令的用法介绍
    本篇内容介绍了“Linux xargs命令的用法介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!xargs 是给命令传递参数的一个过滤器,...
    99+
    2023-06-05
  • Linux下rm命令的简单介绍
    本篇内容介绍了“Linux下rm命令的简单介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!rm 的那些事首先,这条命令是用来清除 ...
    99+
    2023-06-05
  • Linux下wget命令详细介绍
    目录首先安装wget查看帮助手册1、使用 wget 下载单个文件2、使用 wget -O 下载并以不同的文件名保存3、使用 wget -c 断点续传4、使用 wget -b 后台下载5、伪装代理名称下载6、使用 wget...
    99+
    2022-06-04
    Linux wget命令 Linux wget 命令详解
  • Linux sed命令的使用
    1.功能简介 sed(Stream EDitor)是一种流文件编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(Pattern Space),接着用sed命令处理缓冲区中的内容...
    99+
    2022-06-03
    Linux sed Linux sed命令
  • linux中sed命令的使用方法
    这篇文章给大家介绍linux中sed命令的使用方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。概述sed命令是一个面向字符流的非交互式编辑器,也就是说sed不允许用户与它进行交互操作。sed是按行来处理文本内容的。在...
    99+
    2023-06-09
  • Linux系统下netstat命令详细介绍
    目录一、介绍二、输出信息描述三、netstat常见参数四、netstat网络状态详解linux的相关keepalive参数五、常用netstat相关命令一、介绍 Netstat是控制台命令,是一个监控TCP/IP网络的非...
    99+
    2022-06-04
    Linuxnetstat命令详解 netstat命令介绍
  • Linux系统中的passwd命令用法介绍
    这篇文章主要讲解了“Linux系统中的passwd命令用法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统中的passwd命令用法介绍”吧!先来回顾一下passwd命令的基本...
    99+
    2023-06-12
  • Linux系统中strace命令的用法介绍
    这篇文章主要讲解了“Linux系统中strace命令的用法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统中strace命令的用法介绍”吧!在调试的时候,strace能帮助你...
    99+
    2023-06-12
  • DBA常用的linux命令介绍
    这篇文章主要介绍“DBA常用的linux命令介绍”,在日常操作中,相信很多人在DBA常用的linux命令介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”DBA常用的linux命令介绍”的疑惑有所帮助!接下来...
    99+
    2023-06-06
  • Linux less 命令使用介绍
    文章目录 1.命令格式2.命令功能3.命令参数4.按键操作5.示例1、查看文件内容2、ps查看进程信息并通过less分页显示3、查看命令历史使用记录并通过less分页显示5、浏览多个文件 ...
    99+
    2023-09-14
    linux 运维 ubuntu less 服务器
  • mysqlshow命令的用法介绍
    MySQL自带的mysqlshow命令,可以让我们在不连接到MySQL客户端的情况下查看MySQL的一些参数、数据库、表、列、索引等信息,其使用方法如下: 查看都有哪些库:mysqlshow -...
    99+
    2022-10-18
  • Linux 中常用的sed命令
    sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓...
    99+
    2022-06-04
    命令 常用 Linux
  • Linux中的grep命令介绍
    本篇内容介绍了“Linux中的grep命令介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Linux 最重要的三个命令在业界被称为三剑客,...
    99+
    2023-06-15
  • Linux系统中的screen命令的用法介绍
    这篇文章主要讲解了“Linux系统中的screen命令的用法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统中的screen命令的用法介绍”吧!作为linux服务器管理员,经...
    99+
    2023-06-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作