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

sed 多行模式、分支及循环

sed 默认每次只处理一行数据,除非使用 H、G 或者 N 等命令创建多行模式,每行之间用换行符分开。本篇将解释适用于多行模式的 sed 命令。...打印多行模式中的第一行(命令 P) 大写的 D、P 功能和小写的 d、p 非常相似,但它们在多行模式中有特殊的功能。...删除多行模式中的第一行(命令 D) 小写命令 d 会删除模式空间内容,然后读取下一条记录到模式空间,并忽略其后的命令,从头开始下一次循环。...它只会: 删除模式空间的部分内容,直到遇到换行符 \n。 忽略后续命令,在当前模式空间中从头开始执行命令。...*@//;P;D 这个中的替换命令把整个注释替换为空(相当于删除)。P 打印模式空间中的第一行,然后 D 删除模式空间中的第一行。

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

    awk与sed:关于多行的样本

    sed默认单行模式。一次处理一行,执行时发现,就算我们把换行符去掉了。sed命令结束后。还是将它当成完整的一行输出(也就是说,应该是自己主动又加上换行符了) 2. 有一位网友。...认为其它答案太复杂,给出了以下的方法 sed ‘N;s/\n//g’ 这个答案使用了sed多行模式,但应该是无法实现楼主的目的的。...能够看出,sed 的N命令把第二行接到第一行后面,把第四行接到第三行后面,没有考虑到我们目标中:仅仅有非90结尾的才把下一行附加上来。...sed -e '/^/{:loop /90$/!{N;b loop};s/\n//g}' test.txt > t2.txt 改一下好理解一点就是 sed '{:myloop /90$/!...N表示多行模式,b表示分支(相当于goto) 这样就好理解了。sed会读取一行内容,假设这一行不是以90结尾。/90$/! 就为真,进入 {N;b myloop}。 N就进入了多行模式。

    68210

    vim中多行注释和多行删除命令「建议收藏」

    vim中多行注释和多行删除命令 这些命令也是经常用到的一些小技巧,可以大大提高工作效率。....多行注释: 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式; 在行首使用上下键选择需要注释的多行; 按下键盘(大写)“I”键,进入插入模式; 然后输入注释符(“//”、“#...注:在按下esc键后,会稍等一会才会出现注释,不要着急~~时间很短的 2.删除多行注释: 首先按esc进入命令行模式下,按下Ctrl + v, 进入列模式; 选定要取消注释的多行; 按下“x”或者“d”...注意:如果是“//”注释,那需要执行两次该操作,如果是“#”注释,一次即可 ===================== 3.多行删除 1.首先在命令模式下,输入“:set nu”显示行号; 2.通过行号确定你要删除的行...; 3.命令输入“:32,65d”,回车键,32-65行就被删除了,很快捷吧 如果无意中删除错了,可以使用‘u’键恢复(命令模式下) 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

    3.7K20

    Linux运维必备技能:如何在 Vim 中删除多行

    如果你在 Vim 中出错,你可以dw在普通模式下使用删除一个单词。您键入dd它会删除当前行。 如果要在 Vim 中删除多行,可以使用相同的 dd Vim 命令,将行数添加到该命令中。...因此,10dd将从光标底部删除 10 行(包括光标所在的行)。 让我们详细了解如何在以效率着称的编辑器中删除一行或多行。...删除单行 以下是在 Vim 中删除单行文本的步骤: 按 Escape (Esc) 键进入 Normal 模式 确保光标位于要删除的行上。 快速按下dd 这将删除光标所在的整行。...指定要删除的行数 在你使用dd命令删除一行之前,你可以在它前面指定一个数字,以便在 Vim 中一次删除几行。...指定要删除的行范围 无需指定从当前行到底部要删除多少行,您只需告诉 Vim 它应该从哪一行开始删除,一直到哪一行。

    3.7K00

    Linux 命令 | sed

    Linux 命令 sed 命令解析 sed 是一种流编辑器,主要用来对文本进行替换、删除、新增、选取等操作。...sed 的一般形式如下: sed [options] 'command' filename options是可选参数 command是要执行的操作命令 filename是要处理的文件名。...I'm studying sed. 现在要用 sed 命令将其中的第一行 Hello world! 替换为 Hi there!...源码演示: sed '1s/Hello/Hi there/' test.txt Linux 命令 sed 命令注意事项 sed 命令一般不会对原始文件进行修改,而是将修改后的结果输出到标准输出流中,如果需要修改原始文件...sed 命令支持多种操作符,如查找、替换、删除、插入等操作。 sed 命令可以通过正则表达式进行模式匹配,以实现更灵活的操作。

    20720

    Linux命令之sed

    Linux命令之sed 在开始写文章之前,再次重复那句话:sed,grep和awk被称之为Linux三剑客。...这句话我一直在强调,足以说明这三个命令在linux中的重要性,废话不多说,今天我们来看看sed的一些操作。...03 d命令和D命令 d命令是删除当前模式空间内容(不再传至标准输出),并放弃之后的命令,并对新读取的内容,重头执行sed。...执行过程如下:读取1,执行n,得出2,执行d,删除2,得空,以此类推,读取3,执行n,得出4,执行d,删除4,得空,读取5,执行n,得出6,执行d,删除6,因无-n参数,故输出1\n3\n5 D命令是删除当前模式空间开端至...this is line ; 它相当于将所有的行都拼接了起来,然后删除开始到\n的内容,并循环执行,所以最后只剩下了最后一行的内容。

    3.5K20

    linux sed指令详解

    声明 参数详解 参数d以行为单位删除功能 参数a i 新增内容 以行为单位替换c和显示p 参数s 查找和替换 使用sed直接修改文件 声明 引用自鸟哥私房菜。...参数详解 [root@linux ~]# sed [-nefr] [动作] 参数: -n :使用安静(silent)模式。...参数d,以行为单位,删除功能 删除2~5行,中,2,5,行包括在内 [root@localhost ~]# nl /etc/passwd | sed '2,5d' 上面的指令完整的写法是要加参数e的,但是由于只需要执行一条指令...@localhost ~]# nl /etc/passwd | sed -e '2,5d' -e '8,10d' 删除第2行 [root@localhost ~]# nl /etc/passwd | sed...| sed '2i drink tea' 新增多行内容,主要要是用到\或者回车(新增的内容使用单引号,如果要想使用回车来实现新增多行,注意另外一个单引号别写出来,否则就直接执行指令了)来新增多行内容

    2.9K30

    Linuxsed命令详解

    例如: sed '2,5d' datafile   #删除第二到第五行   sed '/My/,/You/d' datafile   #删除包含"My"的行到包含"You"的行之间的行   sed '/...3.1 sed 命令 命令 功                能 a\ 在当前行后添加一行或多行多行时除最后一行外,每行末尾需用“\”续行 c\ 用此符号后的新文本替换当前行中的文本。...多行时除最后一行外,每行末尾需用"\"续行 i\ 在当前行之前插入文本。...多行时除最后一行外,每行末尾需用"\"续行 d 删除行 h 把模式空间里的内容复制到暂存缓冲区 H 把模式空间里的内容追加到暂存缓冲区 g 把暂存缓冲区里的内容复制到模式空间,覆盖原有的内容 G 把暂存缓冲区的内容追加到模式空间里...6.11  y 命令 该命令与 UNIX/Linux 中的 tr 命令类似,字符按照一对一的方式从左到右进行转换。

    7.1K60

    linux sed命令使用

    Linux系统中,sed命令是一种非常强大和灵活的工具,可以帮助用户进行多种文本操作,如文本替换、删除、插入、打印等等。...删除操作 sed命令可以用来删除文件中的某些行。删除操作的格式为: sed '行号d' 文件名 其中,d表示删除操作。...例如: $ cat test.txt line 1 line 2 line 3 $ sed '2d' test.txt line 1 line 3 上面的命令将文件中的第二行删除。...可以通过指定多个行号来删除多行,例如: $ sed '2d;3d' test.txt line 1 上面的命令将文件中的第二行和第三行删除。 3. 插入操作 sed命令可以用来向文件中插入文本。...可以通过指定多个行号来打印多行,例如: $ sed -n '2p;3p' test.txt line 2 line 3 上面的命令将文件的第二行和第三行打印出来,其中-n选项表示禁止自动打印模式空间的内容

    3.8K10
    领券