Sed 实记 · laoless‘s Blog
Posted lijianming180
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sed 实记 · laoless‘s Blog相关的知识,希望对你有一定的参考价值。
sed编辑命令
p | 打印匹配行 |
---|---|
= | 打印文件行号 |
a | 在定位行之后追加文本 |
i | 在定位行之前插入文本 |
d | 删除定位行 |
c | 用新文本替换定位文本 |
s | 使用替换模式替换相应模式 |
r | 从另一个文件读取文本 |
w | 将文本写入到一个文件 |
y | 变换字符,类似替换 |
q | 第一个模式匹配完成后退出 |
l | 显示与八进制ASCII码等价的控制字符 |
{} | 在定位行执行的命令组 |
n | 读取下一个输入行,用下一个命令处理新的行 |
h | 将模式缓冲区的文本复制到保持缓冲区 |
H | 将模式缓冲区的文本追加到保持缓冲区 |
x | 互换模式缓冲区和保持缓冲区的内容 |
g | 将保持缓冲区的内容复制到模式缓冲区 |
G | 将保持缓冲区你内容追加到模式缓冲区 |
g | 替换文本全部 |
---|---|
p | 与n选项结合只打印替换行 |
w 文件名 | 输出定向到一个文件 |
Eg:
-n打印文件第一行(不加选项,还会打印全部内容)
1
2sed -n '1p' input
sed -n '1,3p' input’=‘只打印对应内容的行号
1
sed -n '/string/=' input
-e 打印查询字符并显示行号
1
sed -e '/string/=' -e '/string/p' input
等价于sed ‘/string/{=;p}’ input`
a在指定内容后追加
1
sed '/string/aappend a new line.' input
在文件最后一行追加
1
大专栏 Sed 实记 · laoless‘s Blog"code"> sed '$'astring input
替换文本
1
2
3sed -n '/string/cint' input
sed -n 's/string/int/2g' input
sed -n '/string/s#string#int#g' #替换所有匹配到的字符串错误用法(-ni选项不能连用)
1
2sed -ni '/string/cint/p' php.ini
sed -ni 's/string/int/p' php.ini删除最后一行和最后一行
1
sed -e '$'d -e '1'd input
只打印替换行
1
sed -n 's/string/int/p' input
分别替换第n次匹配
1
sed -n 's/string/np' input
显示控制字符(ASCII)
1
sed -n '1,$'l input
处理匹配行的下一行
1
sed '/string/{n;s/cf/lol/;} input
在指定字符串后/前添加内容
1
2sed -i 's/index.html/& index.php /' httpd.conf
sed -i 's/index.html/index.php &/' httpd.conf&就代表着指定的字符串位置
以上是关于Sed 实记 · laoless‘s Blog的主要内容,如果未能解决你的问题,请参考以下文章