作用与使用方法攻略:
Linux中的sed命令是一个非常有用的命令,其主要作用是在输入流中实现替换、插入、删除、打印等操作。sed命令可以处理文件、输入流、管道等,且可以通过正则表达式进行匹配和替换,极大地提高了文本处理的效率。
- 命令格式
sed [选项] ‘command’ file(s)
- 命令参数
选项:
- -n|--quiet|-silent:只显示处理后符合条件的行。
- -e|--expression=command:sed主要用的选项。用于直接在命令行上执行sed命令。在脚本执行一段sed命令时比较有用。
- -f|--file=filename: 此选项用于直接指定一个sed命令脚本文件。
- -r|-E|--regexp-extended:使用扩展正则表达式。
- -i|--in-place:直接修改文件内容。
- -h|--help:显示命令帮助信息。
- -V|--version:显示命令版本信息。
命令:
- a:添加文本,如sed ‘1a\hello’ file1,在文件file1的第一行之前添加单词“hello”。
- c:替换文本,如sed ‘1,3c\hello’ file2,将文件file2的第1到3行全部替换成单词“hello”。
- d:删除文本,如sed ‘1,3d’ file3,将文件file3的第1到3行其中的所有内容全部删除。
- i:插入文本,如sed ‘1i\hello’ file4,在文件file4的第一行插入单词“hello”。
- p:打印文本,如sed -n ‘2,5p>file5’,将文件file5的第2到5行直接输出。
-
s:替换文本,如sed -r ‘s/\bnames\b/Tom/g’ file6,将文件file6中所有单词“names”替换成“Tom”。
-
示例说明
假如有一个文件file.txt,内容如下:
apple
banana
cherry
daffodil
elephant
fan
garden
hat
insect
jazz
示例1:我们只需要将该文件中的前5行与后5行输出到一个新文件中。可以使用命令:
sed -ne '1,5p; $-4,$p' file.txt >new.txt
对于这条命令,表示将文件file.txt的第1到5行和倒数第4行到最后一行输出到一个新文件new.txt中,其中-e选项表示将要执行的命令放在单引号中,-n选项表示不输出默认处理的文本行,而是通过命令选项来进行行处理。
示例2:我们希望将该文件中的前5行修改成一个新的单词,可以使用命令:
sed -i '1,5s/apple/fruit/g' file.txt
对于这条命令,表示将文件file.txt的第1到5行,所有单词“apple”都替换成单词“fruit”,其中-i选项表示在文件中直接修改,如果不使用该选项,则命令只是在命令行输出替换后的文本,不直接修改原文件。
以上就是关于Linux sed命令的作用与使用方法的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Linux sed命令:对文件进行搜索和替换 - Python技术站