1.简介 sed是一种行编辑器,它一次处理一行内容。 2.sed调用方式 sed [options] 'command' file(s) sed [options] -f scriptfile file(s) 第一种直接在命令行中执行,第二种把命令写到了脚本中,二者无本质区别。 示例(1):打印hello.txt的内容
说明: -n:sed会在处理一行文本前,将待处理的文本打印出来,-n参数关闭了这个功能 p:命令表示打印当前行 hello.txt:待处理的文件 这个指令相当于cat 3.定址 告诉sed你期望处理的行,由逗号分隔的两个数字表示,$符号表示最后一行; 当然也可以使用正则来定位期望处理的行。 示例(2):打印hello.txt的第二行到最后一行
示例(3):打印hello.txt中正则匹配"100"的行
4.基本命令 hello.txt的内容为 1 2 3 10 20 30 100 200 300 命令:a\ 在匹配行的后面加入一行文本 示例(4)匹配100的行,后面加入一行"new line"
输出内容为: 1 2 3 10 20 30 100 200 300 new line 命令:i\ 在匹配行的前面加入一行文本 示例(5)匹配100的行,前面加入一行"new line"
输出内容为: 1 2 3 10 20 30 new line 100 200 300 命令:c\ 将匹配行替换为目的行 示例(5)匹配100的行,替换为"new line" sed '/100/'c\ "new line" hello.txt 输出内容为: 1 2 3 10 20 30 new line 命令:d 将匹配行删除 示例(5)删除匹配100的行
输出内容为: 1 2 3 10 20 30 命令:s 将匹配行替换 详细命令为:s/pattern-to-find/replacement-pattern/g pattern-to-find:被替换的串 replacement-pattern:替换成这个串 g:全部替换,默认只替换匹配到的第一个 示例(5)讲100替换为hello
输出内容为: 1 2 3 10 20 30 hello 200 300 5.元字符集 ^:匹配一行的开始 $:匹配一行的结束 .:匹配某个字符 [abc]:匹配指定范围字符 6.实用命令 匹配以10开头的行,并替换为yes,并输出
输出内容为: yes 20 30 yes0 200 300 取出文件中行手的行号与冒号 设hello.txt的内容为 1:#!/bin/sh 2:cat hello.txt 3:exit
输出结果为: #!/bin/sh cat hello.txt exit ==【全文完】== |