sed命令
参数说明:
- -e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。
- -f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
- -h或--help 显示帮助。
- -n或--quiet或--silent 仅显示script处理后的结果。
- -V或--version 显示版本信息。
动作说明:
- a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
- c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
- d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
- i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
- p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
- s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
sed命令的选项(option):
-n :只打印模式匹配的行
-e :直接在命令行模式上进行sed动作编辑,此为默认选项
-f :将sed的动作写在一个文件内,用–f filename 执行filename内的sed动作
-r :支持扩展表达式
-i :直接修改文件内容
2)使用正则表达式、扩展正则表达式(必须结合-r选项)
^ |
锚点行首的符合条件的内容,用法格式"^pattern" |
$ |
锚点行首的符合条件的内容,用法格式"pattern$" |
^$ |
空白行 |
. |
匹配任意单个字符 |
* |
匹配紧挨在前面的字符任意次(0,1,多次) |
.* |
匹配任意长度的任意字符 |
\? |
匹配紧挨在前面的字符0次或1次 |
\{m,n\} |
匹配其前面的字符至少m次,至多n次 |
\{m,\} |
匹配其前面的字符至少m次 |
\{m\} |
精确匹配前面的m次\{0,n\}:0到n次 |
\< |
锚点词首----相当于 \b,用法格式:\<pattern |
\> |
锚点词尾,用法格式:\>pattern |
\<pattern\> |
单词锚点 |
分组,用法格式:pattern,引用\1,\2 |
|
[] |
匹配指定范围内的任意单个字符 |
[^] |
匹配指定范围外的任意单个字符 |
[:digit:] |
所有数字, 相当于0-9, [0-9]---> [[:digit:]] |
[:lower:] |
所有的小写字母 |
[:upper:] |
所有的大写字母 |
[:alpha:] |
所有的字母 |
[:alnum:] |
相当于0-9a-zA-Z |
[:space:] |
空白字符 |
[:punct:] |
所有标点符号 |
sed命令默认会打印一遍文本内容。
sed '2p' ac #默认会打印文本内所有内容,并且还会在打印一遍第2行的内容。 sed '2,3p' ac #默认会打印文本内所有内容,并且还会在打印一遍第2行、第3行的内容。
sed -n '2,3p' ac #加入n参数,只打印第2行、第3行的内容。
建议阅读引用:https://www.cnblogs.com/ctaixw/p/5860221.html