我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux系统中sed命令的使用介绍

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux系统中sed命令的使用介绍

本篇内容主要讲解“Linux系统中sed命令的使用介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中sed命令的使用介绍”吧!

sed是linux轻量级流编辑器,用于行的操作,主要用来数据的选取、替换、删除、新增等。从输入文件中一次一行的读取,

按顺序将列表中的命令应用到每一行,并将其编辑过的行,写到标准输出。

权  限:所有用户

位  置:/bin/sed

用  法:sed [-nefr]  [动作]  file

参数:

-n

         不加-n的时候,sed处理的数据和不处理的都会输出,加上-n只会输出sed操作的行,

         注意:与动作p和起来用,不要与其他动作一起用

-e

         直接在命令行模式上进行sed的动作编辑

         例如:sed -e 's/aaa/b/g; s/aa/b/g' file 也即多个动作同时操作,注意中间的分号

-f          

         直接将sed动作写在一个文件内,-f file 则可以执行filename内的sed动作

-r

         sed的动作支持扩展的正则表达式(默认支持基础正则表达式)

-i

         直接修改读取的文件内容

注意:多个选项参数一起用的时候,例如:sed  -i  -r  ...             不可以这样:sed -ir  ...

动作说明:[n1[,n2]] function

         不见得会存在,一般代表选择动作的行数,如果动作是在5到15行之间进行替换,则"10,20c"

a      新增,当前行的下一行

         sed '2a hello world' file  输出在第2行之后插入hello world

         sed '2a hello world\      

         my name is csdn'  file      

        输出在2行下面插入两行分别为hello world  和my name is scdn

         特别注意hello world 后面的"\"

c       替换,是整行替换

         sed '3,6c  hello csdn'  file  

         输出把3至6行的只替换为 hello csdn(第3至6行只剩下一行hello csdn,不是3至6行的每一行都为hello csdn)

d       删除

          sed '3,6d' file  输出删除file的3至6行之后的内容

i        插入,当前行的上一行

          与a动作类似,参照a动作用法

p       打印

          sed  -n  '2,5p' file   打印file的第2至5行

s        替换

          sed 's/oldString/newString/g' file   oldString和newString支持基础正则表达式和扩展的正则表达式

          cat -n nginx | sed '1,99s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}//g'  把nginx日志的1至99行的第一个字段IP地址替换为空

          结果为:

    91 - - [15/Dec/2014:23:00:10 +0800],GET /identified?key=this-is-TMP-apikey&digest=914EBB2FD551844CBE15513C0126E6EE&digest-algorithm=ed2k&hash=9D37BB2988F26973371FAB028FEEEB93D5542300& HTTP/1.1,200 65,-,XMP Windows Client 4.9,-,ed2k://|file|ki141213.wmv|1119747351|914EBB2FD551844CBE15513C0126E6EE|h,00E04C377725NG4E,ki141213.wmv,1119747351    92 - - [15/Dec/2014:23:00:10 +0800],GET /identified? HTTP/1.1,401 112,-,-,-,-,-,-,-    93 - - [15/Dec/2014:23:00:10 +0800],GET /identified? HTTP/1.1,401 112,-,-,-,-,-,-,-    94 - - [15/Dec/2014:23:00:10 +0800],GET /identified? HTTP/1.1,401 112,-,-,-,-,-,-,-    95 - - [15/Dec/2014:23:00:10 +0800],-,400 0,-,-,-,-,-,-,-    96 - - [15/Dec/2014:23:00:10 +0800],GET /identified?key=this-is-TMP-apikey&digest=76BB7C854168DCD1BF15FCB92E4114FFD4CFE7DE&digest-algorithm=magnet&hash=28003498535& HTTP/1.1,200 65,-,Thunder Windows Client 7.9,-,magnet:?xt=urn:btih:76BB7C854168DCD1BF15FCB92E4114FFD4CFE7DE,EC55F9E92A5212LQ,ABP-209R,1067178826    97 - - [15/Dec/2014:23:00:10 +0800],GET /identified? HTTP/1.1,401 112,-,-,-,-,-,-,-    98 - - [15/Dec/2014:23:00:10 +0800],GET /identified? HTTP/1.1,401 112,-,-,-,-,-,-,-    99 - - [15/Dec/2014:23:00:10 +0800],-,400 0,-,-,-,-,-,-,-   100121.12.57.154 - - [15/Dec/2014:23:00:10 +0800],GET /identified? HTTP/1.1,401 112,-,-,-,-,-,-,-

动作其他用法1:sed  '/模式/动作'  文件

可以指定某种模式的行进行动作操作,如下(这里的文件名是a,注意cat a的输出):

1、以p开头的行前加[TAB]

$ cat apa:11:asa:32:capp:5:bstort:1:dpear:4:aahello:3:f$ sed '/^p/s/^/\t/' apa:11:asa:32:capp:5:bstort:1:dpear:4:aahello:3:f


2、删除以a开头的行,(那么下面的输出,以a开头的行就没了)

$ sed '/^a/d' apa:11:asa:32:cstort:1:dpear:4:aahello:3:f

3、反向匹配(文件a中,输出只保留了a开头的行)

$ sed '/^a/!d' aapp:5:b

4、等价与grep -v   (输出文件a中,非p字母开头的行)

$ grep  -v '^h' apa:11:asa:32:capp:5:bstort:1:dpear:4:aa$ sed -n '/^h/!p' apa:11:asa:32:capp:5:bstort:1:dpear:4:aa

动作其他用法2:

也可以使用成对的正则表达式或行号与正则表达式的结合,来选取一定范围的行,如下:

1、sed '1,3d'  file   删除1至3行

2、sed -n '1,3p' file  打印1至3行

3、sed  '1, /^$/d' file  删除范围:第一行至第一个空行 (注意格式)

4、sed '/^$/, /^app/d' file  删除范围:第一个空行至以app开头的行

5、sed '$d'  file   删除最后一行

注意:反向匹配行,是动作前加感叹号 (!d    !s    !c等等)


如果前面的命令直接加入-i,则直接修改文件

到此,相信大家对“Linux系统中sed命令的使用介绍”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux系统中sed命令的使用介绍

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

下载Word文档

猜你喜欢

Linux系统中sed命令的使用介绍

本篇内容主要讲解“Linux系统中sed命令的使用介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中sed命令的使用介绍”吧!sed是linux轻量级流编辑器,用于行的操作,主要
2023-06-13

linux中sed命令的用法介绍

本篇内容介绍了“linux中sed命令的用法介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!sed命令行格式为: sed
2023-06-13

Linux下sed命令的用法介绍

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

Linux系统中cut命令的使用介绍

本篇内容主要讲解“Linux系统中cut命令的使用介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中cut命令的使用介绍”吧!执行权限:所有用户所在位置:/usr/bin/cut
2023-06-12

Linux系统中split命令的使用介绍

本篇内容主要讲解“Linux系统中split命令的使用介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中split命令的使用介绍”吧!位置:/usr/bin/split权限:所有
2023-06-13

linux系统中sed命令的使用方法

这篇文章给大家分享的是有关linux系统中sed命令的使用方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux中sed命令功能强大,今天我们就来详细介绍如何在Linux中使用sed命令进行替换,具体来说分
2023-06-10

linux系统中如何使用sed命令

小编给大家分享一下linux系统中如何使用sed命令,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!ed是一个“非交互式的”面向字符流的编辑器。能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只
2023-06-28

linux系统中sed命令怎么使用

这篇文章跟大家分析一下“linux系统中sed命令怎么使用”。内容详细易懂,对“linux系统中sed命令怎么使用”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“linux系统中s
2023-06-28

如何在linux系统中使用sed命令

今天就跟大家聊聊有关如何在linux系统中使用sed命令,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。a.txt内容如下:111222baidu333444google555666交
2023-06-12

Linux系统sed命令怎么使用

这篇文章主要讲解了“Linux系统sed命令怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统sed命令怎么使用”吧!我们知道,Vim 采用的是交互式文本编辑模式,你可以用
2023-06-28

Linux系统中的passwd命令用法介绍

这篇文章主要讲解了“Linux系统中的passwd命令用法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统中的passwd命令用法介绍”吧!先来回顾一下passwd命令的基本
2023-06-12

Linux系统中strace命令的用法介绍

这篇文章主要讲解了“Linux系统中strace命令的用法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统中strace命令的用法介绍”吧!在调试的时候,strace能帮助你
2023-06-12

linux系统的ftp命令介绍

本篇内容主要讲解“linux系统的ftp命令介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux系统的ftp命令介绍”吧!FTP命令是Internet用户使用最频繁的命令之一,不论是在D
2023-06-13

Linux系统中的screen命令的用法介绍

这篇文章主要讲解了“Linux系统中的screen命令的用法介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统中的screen命令的用法介绍”吧!作为linux服务器管理员,经
2023-06-12

Linux系统sed命令怎么用

这篇文章主要为大家展示了“Linux系统sed命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux系统sed命令怎么用”这篇文章吧。 Sed是一款流编辑工具,用来对文本进行过滤与替
2023-06-28

Linux sed命令的使用

1.功能简介sed(Stream EDitor)是一种流文件编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(Pattern Space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容
2022-06-03

Linux系统中dd命令的具体用法介绍

本篇内容主要讲解“Linux系统中dd命令的具体用法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中dd命令的具体用法介绍”吧!dd - 转换和拷贝文件当进行非强制的转换的时候
2023-06-12

Linux系统Shell命令常用功能使用介绍

本篇内容主要讲解“Linux系统Shell命令常用功能使用介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统Shell命令常用功能使用介绍”吧!  Linux系统中Shell不仅仅
2023-06-13

Linux系统中sort排序命令的用法介绍

这篇文章主要介绍“Linux系统中sort排序命令的用法介绍”,在日常操作中,相信很多人在Linux系统中sort排序命令的用法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux系统中sort排序命
2023-06-12

Linux中怎么使用sed命令

今天小编给大家分享一下Linux中怎么使用sed命令的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。sed是一种在线编辑器,它
2023-06-27

编程热搜

目录