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

Linux中sed工具的使用

处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。...root都换成ROOT sed-n '/root/{s/bash/ROOT/pg}' /etc/passwd 找到root开头的行,将bash换成nologin sed-n'/^root/{s/bash...从文件读入:r 命令 08 file里的内容被读进来,显示在与test匹配的行后面,如果匹配多行,则file的内容将显示在所有匹配行的下面: sed '/test/r file' filename 写入文件...test line 追加到 以test 开头的行后面: sed '/^test/a\this is a test line' test sed '/^test/a this is...#在以ONBOOT开头的行尾加 TAIL 相关文章: Linux中awk工具的使用 Linux中grep工具的使用

2.3K10

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

x # 表示互换模板块中的文本和缓冲区中的文本。...test的行都被写入file里: sed -n '/test/w file' example 追加(行下):a\命令 将 this is a test line 追加到 以test 开头的行后面: sed...sed -e '/test/h' -e '$G' file 在这个例子里,匹配test的行被找到后,将存入模式空间,h命令将其复制并存入一个称为保持缓存区的特殊缓冲区内。...第二条语句的意思是,当到达最后一行后,G命令取出保持缓冲区的行,然后把它放回模式空间中,且追加到现在已经存在于模式空间中的行的末尾。在这个例子中就是追加到最后一行。...Sed对于脚本中输入的命令非常挑剔,在命令的末尾不能有任何空白或文本,如果在一行中有多个命令,要用分号分隔。以#开头的行为注释行,且不能跨行。

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

    Linux系统开发: 学习linux三剑客(awk、sed、grep)(上)

    $ grep "bash" -vn demo.sh #显示demo.sh内不包含bash的行,并显示行号 查找以某内容开头的行 需运用正则表达式^...。...G 获得内存缓冲区的内容,并追加到当前模板块文本的后面。 l 列表不能打印字符的清单。 n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。...x 表示互换模板块中的文本和缓冲区中的文本。...:/^sed/匹配所有以sed开头的行。...前跟非零数字,表示后面的命令对所有没有被选定的行发生作用 需用到命令:G:获得内存缓冲区的内容,并追加到当前模板块文本的后面 需用到命令:h: 拷贝模板块的内容到内存中的缓冲区 需用到命令:d :删除,

    9.3K21

    Sed三剑客入门与进阶

    Sed执行流程: 将要处理的文本文件通过指定文本文件路径或者管道输入; 循环读取文本中的行到模式空间,进行判断是否要被处理的行; 执行sed命令进行进一步的处理缓冲区中的内容; 打印模式空间 / 清空模式空间...H 追加模板块的内容到内存中的缓冲区。 g 获得内存缓冲区的内容,并替代当前模板块中的文本。 G 获得内存缓冲区的内容,并追加到当前模板块文本的后面。...x 表示互换模板块中的文本和缓冲区中的文本。...Sed对于脚本中输入的命令非常挑剔,在·命令的末尾不能有任何空白或文本,如果在一行中有多个命令,要用分号分隔`以#开头的行为注释行,且不能跨行。...#第二条语句的意思是,当到达最后一行后,G命令取出保持缓冲区的行,然后把它放回模式空间中,且追加到现在已经存在于模式空间中的行的末尾。

    3.1K10

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

    能够根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中。.../SPARK/g' passwd > cat passwd Bash Copy 修改 /etc/passwd 中从第 15 行开始,到匹配到以 yarn 开头的所有行,修改内容为将这些行中的 bin...i 在匹配行前面追加 r 将文件内容追加到匹配行后面 w 将匹配行写入指定文件 passwd 文件匹配到 /bin/bash 的行后面追加 “Insert Line For /bin/bash Behind...将 /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

    Linux基础命令行使用技巧

    1.引用路径开头,助记技巧将 :h 想成 head 的开头字符。 #1.在 !...添加文本:编辑可以从vi命令模式回到插入模式 i 在光标左边插入新的文本内容 a 在光标右边追加新的文本内容 I 在行开头插入新的文本内容 A 在行结尾追加新的文本内容 删除文本:跟移动命令一样,在上述删除命令之前也可以带一个数字...,Shell 并没有丢弃,而是将其保留在了删除缓冲器中,我们可以通过执行u命令来恢复这些删除的内容(可以多次使用) 替换文本:在删除该内容后再进入插入模式重新输入外,也可以使用 vi 编辑模式所提供的文本替换命令...cm m 为某个移动命令,如 cw 将光标右边的单词删掉后进入插入模式 C 从光标处删除到行尾,并进入插入模式 cc 删除整行,并进入插入模式 r 替换光标下的字符 R 进入替换文本模式,直到按 Esc...* pushd 命令将一个目录添加到目录栈中(入栈) * popd 命令则从目录栈中移除上次添加的目录(弹栈) [root@vm-1575613390 tmp]$ ls a b [root@vm-1575613390

    6K20

    Linux基础命令行使用技巧

    1.引用路径开头,助记技巧将 :h 想成 head 的开头字符。 12345#1.在 !...添加文本:编辑可以从vi命令模式回到插入模式 i 在光标左边插入新的文本内容 a 在光标右边追加新的文本内容 I 在行开头插入新的文本内容 A 在行结尾追加新的文本内容 删除文本:跟移动命令一样,在上述删除命令之前也可以带一个数字...,Shell 并没有丢弃,而是将其保留在了删除缓冲器中,我们可以通过执行u命令来恢复这些删除的内容(可以多次使用) 替换文本:在删除该内容后再进入插入模式重新输入外,也可以使用 vi 编辑模式所提供的文本替换命令...cm m 为某个移动命令,如 cw 将光标右边的单词删掉后进入插入模式 C 从光标处删除到行尾,并进入插入模式 cc 删除整行,并进入插入模式 r 替换光标下的字符 R 进入替换文本模式,直到按 Esc...* pushd 命令将一个目录添加到目录栈中(入栈) * popd 命令则从目录栈中移除上次添加的目录(弹栈) [[email protected] tmp]$ ls a b [[email protected

    5.9K63

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

    sed 's/the/THE/' test.txt //将每行中的第一个the 替换为 THE sed 's/l/L/2' test.txt //将每行中的第 2 个 l 替换为 L sed 's/the.../THE/g' test.txt //将文件中的所有the 替换为 THE sed 's/o//g' test.txt //将文件中的所有o 删除(替换为空串) sed 's/^/#/' test.txt...'3,5s/the/THE/g' test.txt //将第 3~5 行中的所有 the 替换为 THE sed '/the/s/o/O/g' test.txt //将包含the 的所有行中的 o 都替换为...//将包含the 的行另存为文件 out.file sed '/the/r /etc/hostname' test.txt //将文件/etc/hostname 的内容添加到包含 the 的每行以后...在w模式下,可以直接写入文件,这是追加的过程,不会覆盖原文 三、sed中-n和-p以及不加参数 不加参数默认输出全部 包括匹配到的参数 -n选项:只显示匹配处理的行(否则会输出所有)(

    1.6K31

    linux实战(一)

    -l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及行号。 -s:不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。...在Linux系统上,正则表达式通常被用来查找文本的模式,以及对文本执行“搜索-替换”操作和其它功能。...追加命令a命令 $ sed '/^test/a\\this is a test line' example 在example文件中'this is a test line'被追加到以test开头的行后面...接着模式空间被清空,并存入新的一行等待处理。在这个例子里,匹配test的行被找到后,将存入模式空间,h命令将其复制并存入一个称为保持缓存区的特殊缓冲区内。...第二条语句的意思是,当到达最后一行后,G命令取出保持缓冲区的行,然后把它放回模式空间中,且追加到现在已经存在于模式空间中的行的末尾。在这个例子中就是追加到最后一行。

    2.2K10

    sed入门详解教程 原

    在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。...符号"^" "^"表示行首的意思,也就是每一行的开始位置。在这里并不是上边字符范围中取反的意思,^符号只有在"[]"符号的开头处才能表示字符取反。 ^abc:表示以abc开头的字符串abc。...例子2: sed -n ‘/^$/d’ message 说明:删除空行 例子3: sed -n ‘/^TS/,/^TE/d’ message 说明:匹配以TS开头的行到TE开头的行之间的行,把匹配到的这些行删除...7、子命令r 子命令r,类似于a,也是将内容追加到指定行的后边,只不过r是将指定文件内容读取并追加到指定行下边。 ...3、模式空间和保持空间的置换 h:把模式空间内容覆盖到保持空间中 H:把模式空间内容追加到保持空间中 g:把保持空间内容覆盖到模式空间中 G:把保持空间内容追加到模式空间中 x:交换模式空间与保持空间的内容

    1.5K30

    三剑客命令

    *x$" 123.txt #这种情况会把文件中从第一个r开头一直x结尾的匹配出来,中间如果有两三个x,也会被匹配出来 指定具体信息阻止贪婪匹配 grep "^r....: #,# #,+# /pat1/,/pat2/ `#,/pat1/ ~:步进 1~2 奇数行 2~2 偶数行 编辑命令: d 删除模式空间匹配的行,并立即启用下一轮循环 p 打印当前模式空间内容,追加到默认输出之后...r /path/somefile 读取指定文件的文本至模式空间中匹配到的行后 = 为模式空间中的行打印行号 !...模式空间中匹配行取反处理 s///:查找替换,支持使用其它分隔符,s@@@,s### 替换标记: g 行内全局替换 p 显示替换成功的行 w /PATH/TO/SOMEFILE 将替换成功的行保存至文件中...~/^#|^$' 文件 总结:awk命令中符号1,2,3 :取第几列信息NF :取最后一列(NF-n) :取倒数第n列 正则表达式与操作符 awk同sed一样也可以通过模式匹配来对输入的文本进行匹配处理

    3.4K10

    使用Bash时,哪些字符需要转义?

    这些命令将依次应用于输入文本。2."s/'/'\\\\''/g":•s 是 sed 的替换命令。•/'/'\\\\''/g 中的匹配模式:',即单引号。...g 标志表示全局替换,在输入文本中所有的匹配都会被替换,而不仅仅是最先出现的那个。•作用:将文本中的每个单引号替换为 '\'',这样单引号就可以在单引号引起来的字符串中安全使用。...•// 中间的 \ 整个 sed 命令的作用是: •将文本中的每个单引号替换为 '\'',以便单引号可以在单引号引起来的字符串中安全使用。•在文本的第一行开头添加一个单引号。.../\\&/g 是替换的具体内容:匹配模式:.,表示任意单个字符。替换内容:\\&,这里用两个反斜线 \\ 来转义单个反斜线,& 表示匹配到的字符。...g 标志表示全局替换,在输入文本中所有的匹配都会被替换,而不仅仅是最先出现的那个。•作用:将文本中的每个字符前面都加上一个反斜线,实现字符转义。

    7810

    test

    只需按 Shift + Alt + 向下箭头 (Mac: command + Shift + 向下箭头) 16、移至文件的开头/结尾 要使光标移到文件的第一行或最后一行,最快的方法是按Ctrl + Home...17、批量替换当前文件中所有匹配的文本 可以选择任何一组文本,如果该选中文本出现多个,可以通过按Ctrl + F2 (Mac: command + F2)一次改所有出现的文本。...20、将编辑器向左或向右移动 如果你像我一样,你可能会有一种无法控制的欲望,想要在一个组中重新排列选项卡,其中选项卡相互关联,左边的选项卡是比较重要文件,而右边的选项卡是相对不重要的文件。...按 Ctrl + Alt +向上箭头(Mac: Control + Option +向上箭头)将光标添加到上面,按 Ctrl + Alt +向下箭头(Mac: Control + Option + 向下箭头...)将光标添加到下面。

    1.6K20

    常用 linux 命令集锦

    linuxfile2 >> linuxfile3 把 linuxfile1 和 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到linuxfile3 里。...和 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到 linuxfile3 里。...bin/bash 这种是pattern的使用示例,匹配了pattern(这里是root)的行才会执行action(没有指定action,默认输出每行的内容)。...关系表达式:可以用下面运算符表中的关系运算符进行操作,可以是字符串或数字的比较,如$2>%1选择第二个字段比第一个字段长的行。 模式匹配表达式:用运算符~(匹配)和~!(不匹配)。...END:让用户在最后一条输入记录被读取之后发生的动作。 几个实例: $ awk '/^(no|so)/' test-----打印所有以模式no或so开头的行。

    4.5K10

    Grep(Regex)中的正则表达式

    grep是Linux中用于文本处理的最有用和功能最强大的命令之一。 grep在一个或多个输入文件中搜索与正则表达式匹配的行,并将每条匹配的行写入标准输出。...在本文中,我们将探讨在grep的GNU版本中如何使用正则表达式的基础,大多数Linux操作系统默认情况下都提供此功能。 Grep正则表达式 正则表达式或正则表达式是与一组字符串匹配的模式。.../bash 在此示例中,字符串“ bash”是由四个文字字符组成的基本正则表达式。...例如,要匹配以“ kan”开头,然后有两个字符并以字符串“ roo”结尾的任何内容,则可以使用以下模式: $grep 'kan..roo' file.txt 括号表达式 方括号表达式允许将一组字符括在方括号...以下模式将匹配以“ co”开头的字符串的任意组合,后接除“ l”之后为“ la”的任何字母(例如“ coca”,“ cobalt”等),但不匹配包含“ cola”的行 ”: $grep 'co[^l]a

    2.8K40

    学校早这么教正则表达式,少走多少弯路!那个分组用法震到我了

    在本文中,我们将探索如何在grep的GNU版本中使用正则表达式的基础知识,该版本在大多数Linux操作系统中默认可用。 ? grep的正则表达式 正则表达式(regex)是与一组字符串匹配的模式。...在其最简单的形式中,当没有给定正则表达式类型时,grep将搜索模式解释为基本正则表达式。 要将模式解释为扩展正则表达式,请使用-E(或--tended-regexp)选项。...通常,你应该始终用单引号将正则表达式括起来,以避免shell解释和扩展元字符。 文本匹配 grep命令最基本的用法是在文件中搜索文字字符或字符序列。...以下模式将匹配以“co”开头、后跟除“l”和“la”之外的任何字母的任意字符串组合,如“coca”、“cobalt”等,但不匹配包含“cola”的行: grep 'co[^l]a' file.txt 你可以在方括号内指定一个字符范围...下面的模式将匹配单独的单词“abject”和“object”。

    2.4K30

    在Bash中如何从字符串中删除固定的前缀后缀

    如果模式与 parameter 扩展后的值的开始部分匹配,则扩展的结果是从 parameter 扩展后的值中删除最短匹配模式(一个 # 的情况)或最长匹配模式(## 的情况)的值 ${parameter...如果模式与 parameter 扩展后的值的末尾部分匹配,则扩展的结果是从 parameter 扩展后的值中删除最短匹配模式(一个 % 的情况)或最长匹配模式(%% 的情况)的值。...e "s/$suffix$//" o-wor 在sed命令中,^ 字符匹配以 prefix 开头的文本,而结尾的 匹配以 参考文档: stackoverflow question 16623835...https://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion 相关阅读: 在bash中:-(冒号破折号)的用法...在Bash中如何将字符串转换为小写 在shell编程中$(cmd) 和 `cmd` 之间有什么区别 如何从Bash变量中删除空白字符 更多好文请关注↓

    53410

    Sed 命令

    sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中。...1.工作流程sed工作流程主要包括读取、执行和显示三个过程: 读取:sed从 输入流 (文件、管道、标准输入)中读取一行内容并存储到临时的缓冲区中(又称模式空间,pattern space)...通常与 -n 选项一起使用=:打印行号l:打印数据流中的文本和不可打印的ASCII字符r:在指定行下面读取文件内容w:将文件内容保存到新文件中二、打印命令演示1.打印文件内容#打印文件a.txt,sed...#sed编辑器会重复删除符合内容,#当匹配到从 t 开头的行会执行删除操作,直到找到以 e 开头的行。...P;D' file二 匹配到字符串所在的行的上一行或者是下一行插入一条数据a 追加内容 sed ‘/匹配词/a\要加入的内容’ example.file(将内容追加到匹配的目标行的下一行位置)i 插入内容

    19310
    领券