首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Shell 编程(五):文本三剑客之 sed

匹配到第10行 10,20command 匹配从第10行开始,到第20行结束 10,+5command 匹配从第10行开始,到第16行结束 /pattern1/command 匹配到pattern1的行...passwd 中从匹配到以 root 开头的行,到第 15 行中的所有行,修改内容为将这些行中的 nologin 修改为 SPARK > sed -i '/^root/,15s/nologin/SPARK.../g' passwd > cat passwd 修改 /etc/passwd 中从第 15 行开始,到匹配到以 yarn 开头的所有行,修改内容为将这些行中的 bin 换位 BIN > sed -i...文件中特定行后面,匹配以 ftp 开头的行,到第 18 行的所有行 > sed -i '/^ftp/,18r /etc/vconsole.conf' passwd > cat passwd 将 passwd...文件从第 10 行开始,到匹配到 hdfs 开头的所有行内容追加到 /tmp/sed-1.txt > sed -i '10,/^hdfs/w /tmp/sed-1.txt' passwd > cat

79710

Shell 编程(五):文本三剑客之 Sed

10行开始,到第20行结束 10,+5command 匹配从第10行开始,到第16行结束 /pattern1/command 匹配到pattern1的行【常用】 /pattern1/,/pattern2...修改 /etc/passwd 中从匹配到以 root 开头的行,到第 15 行中的所有行,修改内容为将这些行中的 nologin 修改为 SPARK > sed -i '/^root/,15s/nologin.../SPARK/g' passwd > cat passwd Bash Copy 修改 /etc/passwd 中从第 15 行开始,到匹配到以 yarn 开头的所有行,修改内容为将这些行中的 bin...将 /etc/vconsole.conf 文件内容追加到 passwd 文件中特定行后面,匹配以 ftp 开头的行,到第 18 行的所有行 > sed -i '/^ftp/,18r /etc/vconsole.conf...' passwd > cat passwd Bash Copy 将 passwd 文件从第 10 行开始,到匹配到 hdfs 开头的所有行内容追加到 /tmp/sed-1.txt > sed -i '10

23730
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Sed..

    t label # if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。...T label # 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。 w file # 写并追加模板块到file末尾。...y # 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 # 子串匹配标记 & # 已匹配字符串标记 sed元字符集 ^ # 匹配行开始,如:/^sed/匹配所有以sed开头的行。...sed 's/\/bin/\/usr\/local\/bin/g' 删除操作:d命令 删除空白行: sed '/^$/d' file 删除文件的第2行: sed '2d' file 删除文件的第2行到末尾所有行...: sed -n '/test/,/check/p' file 打印从第5行开始到第一个包含以test开始的行之间的所有行: sed -n '5,/^test/p' file 对于模板test和west

    1.6K20

    linux中sed命令总结

    t label # if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。...T label # 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。 w file # 写并追加模板块到file末尾。...y # 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 # 子串匹配标记 & # 已匹配字符串标记 sed元字符集 ^ # 匹配行开始,如:/^sed/匹配所有以sed开头的行。...行到末尾所有行: sed '2,$d' file 删除文件最后一行: sed '$d' file 删除文件中所有开头是test的行: sed '/^test/'d file 已匹配字符串标记& 正则表达式...: sed -n '/test/,/check/p' file 打印从第5行开始到第一个包含以test开始的行之间的所有行: sed -n '5,/^test/p' file 对于模板test和west

    3.2K20

    shell脚本快速入门之-----正则三剑客之二sed用法大全!!!

    -n '10,${n;p}' test.txt //输出第 10 行至文件尾之间的偶数行 4、读取行 与grep对比 sed -n '/^root/p' /etc/passwd //输出以PI 开头的行...\>/p' test.txt //输出包含单词wood 的行,\代表单词边界 总结: 搜索的比较精确 与grep相比 sed在搜索行功能更加强大的点在于 sed可以从指定行开始过滤然后输出...'3,5s/the/THE/g' test.txt //将第 3~5 行中的所有 the 替换为 THE sed '/the/s/o/O/g' test.txt //将包含the 的所有行中的 o 都替换为...H:复制到剪贴板; g、G:将剪贴板中的数据覆盖/追加至指定行; w:保存为文件; r:读取指定文件; a:追加指定内容 sed '/the/{H;d};$G' test.txt //将包含the...//将包含the 的行另存为文件 out.file sed '/the/r /etc/hostname' test.txt //将文件/etc/hostname 的内容添加到包含 the 的每行以后

    1.6K31

    Sed三剑客入门与进阶

    #[源字符串]#[替换的字符]#[Ns|N]' file #Ms : 对第M行操作 无g标志对匹配的第1列处理;有g则对着一行操作; #Ng : 从第N处/列后面全部开始替换 #Ms Ng : 对第M...t label if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。...T label 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。 w file 写并追加模板块到file末尾。...y 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 sed元字符集-即正则表达式 ^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。.../p' file #打印从第5行开始到第一个包含以test开始的行之间的所有行: sed -n '5,/^test/p' file #对于模板test和west之间的行,每行的末尾用字符串aaa bbb

    3.1K10

    【记忆卡片】Linux sed命令

    ' a.txt 将a.txt文件中的3行到5行之间所有行的后面添加一行内容为4的行(参数a,表示添加行,参数a后面指定添加的内容) # sed -e '1 s/12/45/' a.txt 把第一行的...'5,/^wang/p' example 只打印从第五行开始到第一个包含以wang开始的行之间的所有行 $ sed '/love/,/unlove/s/$/wangpan/' example.file...对于包含love字符串的行到包含unlove字符串之间的行,每行的末尾用字符串wangpan替换。...$ sed '2q' test_sed_command.txt 在打印完第2行后,就直接退出sed。...在了解参数G,获得内存缓冲区的内容,并追加到当前模板块文本的后面。上面命令行的含义:将包含old字符串的行的内容保存在缓冲区中,然后将缓冲区的内容拿出来添加到包含girl-friend字符串行的后面。

    1.4K130

    Shell sed命令

    分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾 T label 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处...cat xxx.txt|sed '2,$d' #删除文件的第2行到末尾所有行 123456 [root@linux /]# cat xxx.txt|sed '1d' #删除文件第一行 654321...test 1111 2222 TEST [root@linux /]# sed -n '/test/,/TEST/p' xxx.txt test 1111 2222 TEST 打印从第2行开始到第一个包含以...[root@linux /]# cat xxx.txt test123 hello world 2222222 追加 行上: i\命令 将TEST追加到以test开头的行前面 [root@linux.../passwd #注释掉以root开头或者以mysql开头的行 获取网卡信息 [root@linux /]# ifconfig eth0|sed -n 's/.

    1.4K10

    【linux命令讲解大全】081.sed:功能强大的流式文本编辑器

    t # if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。...T # 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。 w # 写并追加模板块到file末尾。...y # 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 # 子串匹配标记 & # 已匹配字符串标记 sed元字符集 ^ # 匹配行开始,如:/^sed/匹配所有以sed开头的行。...sed 's/\/bin/\/usr\/local\/bin/g' 删除操作:d命令 删除空白行: sed '/^$/d' file 删除文件的第2行: sed '2d' file 删除文件的第2行到末尾所有行.../nologin 选定行的范围:,(逗号) 所有在模板test和check所确定的范围内的行都被打印: sed -n '/test/,/check/p' file 打印从第5行开始到第一个包含以test

    26010

    Sed 命令

    #打印以字母 o 开头或以字母 n 结尾的行内容# 管道符 ‘|’ 是扩展正则,所有要加上 -r 选项sed -nr '/^o|n$/p' a.txtoneseventeneleven#打印从第2行到以...d' a.txt twothreeseventeneleventwelve#删除从 f 开头的行到以 n 开头的行内容,删除了four到nine的内容sed '/^f/,/^n/d' a.txtonetwothreeteneleventwelve...sed '/^t/,/^e/d' a.txtonenine五、替换操作1.替换指定字符串#将root字符替换成123,默认替换匹配的第1个字符sed -n 's/root/123/p' passwd123...sed '1,3{H;d};$G' a.txtfourfivesixseveneightnineteneleventwelve onetwothree4.复制文件内容#将1-3行内容复制到第4行后面sed...sed ‘/匹配词/i\要加入的内容’ example.file 将内容插入到匹配的行目标的上一行位置)例:把文件的包含“chengyongxu.com”这个关键词的行前或行后加入一行,内容为“allow

    19310

    sed入门详解教程 原

    符号"^" "^"表示行首的意思,也就是每一行的开始位置。在这里并不是上边字符范围中取反的意思,^符号只有在"[]"符号的开头处才能表示字符取反。 ^abc:表示以abc开头的字符串abc。...例子4: sed –n ‘4,~3s/hello/A/’ message 说明:第4行开始,到第6行。...例子2: sed -n ‘/^$/d’ message 说明:删除空行 例子3: sed -n ‘/^TS/,/^TE/d’ message 说明:匹配以TS开头的行到TE开头的行之间的行,把匹配到的这些行删除...4、数字定址和正则定址混用 其实数字定址和正则定址可以配合使用,参考下边的例子。 例子1: sed -n ‘1,/^TS/d’ message 说明:匹配从第1行到TS开头的行,把匹配的行删除。...例子1: sed ‘2r a.txt’ message 说明:将a.txt文件内容读取并插入到message文件第2行的下边。

    1.5K30

    【数据处理】sed原理及使用举例(快速理解核心)

    \< #锚定单词的开始,如:/\开头的单词的行。 \> #锚定单词的结束,如/love\>/匹配包含以love结尾的单词的行。...也就是说,如果某一行开头的test被替换成mytest,就打印它。 $ sed -n 's/^test/mytest/p' example #&符号表示替换换字符串中被找到的部份。...$ sed -n '/test/,/check/p' example #打印从第五行开始到第一个包含以test开始的行之间的所有行。...$ sed -n '5,/^test/p' example #对于模板test和west之间的行,每行的末尾用字符串sed test替换。...H: 将模式空间内容追加到交换空间 p/P: 模式空间输出 x: 交换空间&模式空间内容交换 g: 将交换空间的内容,覆盖到模式空间 G: 将交换空间的内容,追加到模式空间 互换模式空间和保持缓冲区的内容

    3.2K546

    运维工作中sed常规操作命令梳理

    filename 删除第n到m行 sed -i 'nd;md' filename 删除第n行和第m行 sed -i '/wang/d' filename 删除包含wang字符的行 sed -i '3,$...-i 'n,ms/a/b/g' filename 将第n到m行中的a替换成b sed -i 'ns;ms/a/b/g' filename 将第n行和第m行中的a替换成b sed -i '3,$s/a/...通常这个 s 的动作可以搭配正规表示法;例如 sed -i '1,20s/old/new/g' filename 将第1行到20行的old替换为new 要注意的是,sed 后面接的动作,最好以''单引号括住...) [root@www ~]# sed -n '5,/^wang/p' example 只打印从第五行开始到第一个包含以wang开始的行之间的所有行 [root@www ~]# sed '/love...在了解参数G,获得内存缓冲区的内容,并追加到当前模板块文本的后面。上面命令行的含义:将包含old字符串的行的内容保存在缓冲区中,然后将缓冲区的内容拿出来添加到包含girl-friend字符串行的后面。

    1K71

    【Linux篇】--sed的用法

    t label if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。...T label 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。 w file 写并追加模板块到file末尾。...y 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 4、sed元字符集 ^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。...三、案例 1、替换文本中的字符串: sed 's/book/books/' file 2、全面替换 sed 's/book/books/g' file 当需要从第N处匹配开始替换时,可以使用 /Ng:...file 删除文件的第2行到末尾所有行: sed '2,$d' file 删除文件最后一行: sed '$d' file 删除文件中所有开头是test的行: sed '/^test/'d file

    1.6K20

    Linux基础——正则表达式

    .$ 搜索行以A至Z的一个字母开头,然后跟两个任意字母,然后跟一个换行符的行。将找到第5行。...将找到第4行的TOM(整行匹配)和第5行。注意,*前面有一个空格。...^[A-Za-z]*[^,][A-Za-z]*$ 将查找以 0 个或多个大写或小写字母开头,不跟逗号,然后跟 0 个或多个大写或小写字母,然后跟一个换 行符。将找到第 5 行。 例2: ?...nl 可以将输出的文件内容自动的加上行号如果只要删除第 2行,可以使用 nl/etc/passwd|sed '2d' 来达成,至于若是要删除第 3到最后一行, 则是 nl/etc/passwd |sed...第三、四行是附加操作要加入到拷贝的实际文本。 这里只举例通过sed脚本增加新行的操作,有关sed的其他操作大家要会举一反三。 五、awk 命令: awk 也是一个数据处理工具!

    4.3K30

    Linux的文本处理工具浅谈-awk sed grep

    替换只发生在第一次匹配的 时候 gsub 整个文档中进行匹配 index 返回子字符串第一次被匹配的位置,偏移量从位置1开始 substr 返回从位置1开始的子字符串...match函数会设置内建变量RSTART为字符串中子字符串的开始位 置,RLENGTH为到子字符串末尾的字符个数。...1,/Alex/{sed-commands} 对第1行到匹配Alex的行操作 /oldboy/,+2{sed-commands} 对匹配oldboy的行到其后的...'2c 106,dandan,CSO' person.txt #替换第2行的内容 文本替换 s:单独使用,将每一行中第一处匹配的字符串进行替换 g:每一行进行全部替换 -i:修改文件内容...-r 's#^(.*)#chkconfig \1 off#g'|bash chkconfig --list|grep "3:on" 特殊符号&代表被替换的内容 #→将1到3行的C替换为--C-- sed

    3.6K41

    linux实战(一)

    pattern正则表达式主要参数: \:忽略正则表达式中特殊字符的原有含义。 ^:匹配正则表达式的开始行。 $: 匹配正则表达式的结束行。 \:到匹配正则表达式的行结束。...此例中,对第1到第20行进行处理,you被保存为标签1,如果发现youself,则替换为your。  &      保存查找串以便在替换串中引用 s/my/**&**/  符号&代表查找串。...$ sed -n '5,/^test/p' example 打印从第五行开始到第一个包含以test开始的行之间的所有行。...以下几个是gawk专用的,不适合unix版本的awk。 \Y 匹配一个单词开头或者末尾的空字符串。 \B 匹配单词内的空字符串。 \< 匹配一个单词的开头的空字符串,锚定开始。...先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,随后开始执行模式所对应的动作action

    2.2K10

    Shell实用工具

    命令: 删除第1行,第4行数据 sed '1d;4d' sed.txt ? 演示2: 删除奇数行 从第一行开始删除,每隔2行就删掉一行。...sed '1~2d' sed.txt # 1~2 从第1行开始, 每隔2行 ?...演示3: 删除指定范围的多行数据 删除从第1行到第3行的数据 sed '1,3d' sed.txt # 1,3 从指定第1行开始到第3行结束 ?...演示3: 删除指定范围取反的多行数据 删除从第1行到第3行取反的数据 sed '1,3!d' sed.txt # 1,3! 从指定第1行开始到第3行结束取反, 就是不在这个范围的行 ?...演示3: 第一行数据复制粘贴替换其他行数据 将模式空间第一行复制到暂存空间(覆盖方式), 最后将暂存空间的内容复制到模式空间中替换从第2行开始到最后一行的每一行数据(覆盖方式) sed '1h;2,$g

    7.9K10

    Linux sed 命令的使用

    的后面 h 拷贝模板块中的内容到缓冲区; H 追加模板块的内容到缓冲区; l 列表不能打印内容的清单; n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令 N 追加下一个输入行到模板块后面并在二者间嵌入到一个新行...y 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 元字符集 ^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。...实例: 替换操作 替换文本中的字符串 sed 's/StringOriginal/NewString/' filename -n -p 参数,只打印发生变化的行 sed -n 's/StringOriginal...开头的行后面 sed '/^test/a\this is a test line' file 在 test.conf 文件第2行之后插入 this is a test line: sed -i '2a...\this is a test line' test.conf 插入命令: 将 this is a test line 追加到以test开头的行前面: sed '/^test/i\this is a

    3.2K100

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券