标签:Edito 编辑 tps 除了 oob version 退出 ssl 输出
sed
Sed表示流编辑器(Stream Editor)的缩写.
出处:https://www.runoob.com/linux/linux-comm-sed.html
sed [-hnV][-e<script>][-f<script文件>][文本文件]
参数说明:
动作说明:
在test2文件的第四行后添加一行,并将结果输出到标准输出:
# cat test2 total 16 -rw-r--r-- 1 root root 1991 Oct 23 11:03 access_log -rw-r--r-- 1 root root 1614 Oct 23 11:00 error_log -rw-r--r-- 1 root root 0 Oct 23 10:59 ssl_access_log -rw-r--r-- 1 root root 220 Oct 23 10:59 ssl_error_log # sed -e 4a\newline test2 total 16 -rw-r--r-- 1 root root 1991 Oct 23 11:03 access_log -rw-r--r-- 1 root root 1614 Oct 23 11:00 error_log -rw-r--r-- 1 root root 0 Oct 23 10:59 ssl_access_log newline -rw-r--r-- 1 root root 220 Oct 23 10:59 ssl_error_log
以行为单位的新增/删除
将test 的内容列出并且列印行号,同时,请将第 2~3 行删除:
# nl test2 | sed -e ‘2,3d‘ 1 total 16 4 -rw-r--r-- 1 root root 0 Oct 23 10:59 ssl_access_log 5 -rw-r--r-- 1 root root 220 Oct 23 10:59 ssl_error_log
在第二行后(亦即是加在第三行)加上『testadd word』字样
# nl test2 | sed -e ‘2a testadd word‘ 1 total 16 2 -rw-r--r-- 1 root root 1991 Oct 23 11:03 access_log testadd word 3 -rw-r--r-- 1 root root 1614 Oct 23 11:00 error_log 4 -rw-r--r-- 1 root root 0 Oct 23 10:59 ssl_access_log 5 -rw-r--r-- 1 root root 220 Oct 23 10:59 ssl_error_log #
以行为单位的替换与显示
将第4行到最后一行的内容替换成 【substitute】
# nl test2 | sed -e ‘4,$c substitute‘ 1 total 16 2 -rw-r--r-- 1 root root 1991 Oct 23 11:03 access_log 3 -rw-r--r-- 1 root root 1614 Oct 23 11:00 error_log substitute
仅列出文件内的第 5-7 行
# nl test2 | sed -n ‘2,4p‘ 2 -rw-r--r-- 1 root root 1991 Oct 23 11:03 access_log 3 -rw-r--r-- 1 root root 1614 Oct 23 11:00 error_log 4 -rw-r--r-- 1 root root 0 Oct 23 10:59 ssl_access_log
数据的搜寻并显示
搜索 test有error关键字的行
# nl test2 | sed -n ‘/error/p‘ 3 -rw-r--r-- 1 root root 1614 Oct 23 11:00 error_log 5 -rw-r--r-- 1 root root 220 Oct 23 10:59 ssl_error_log
数据的搜寻并删除
删除test有error关键字的行,其他行输出
# nl test2 | sed ‘/error/d‘ 1 total 16 2 -rw-r--r-- 1 root root 1991 Oct 23 11:03 access_log 4 -rw-r--r-- 1 root root 0 Oct 23 10:59 ssl_access_log
数据的搜寻并执行命令
搜索test2,找到error对应的行,执行后面花括号中的一组命令,每个命令之间用分号分隔,这里把log替换为LOG,再输出这行:最后的q是退出。
# nl test2 | sed -n ‘/error/{s/log/LOG/;p;q}‘ 3 -rw-r--r-- 1 root root 1614 Oct 23 11:00 error_LOG
数据的搜寻并替换
除了整行的处理模式之外, sed 还可以用行为单位进行部分数据的搜寻并取代
# sed ‘s/access/*****/g‘ test2 total 16 -rw-r--r-- 1 root root 1991 Oct 23 11:03 *****_log -rw-r--r-- 1 root root 1614 Oct 23 11:00 error_log -rw-r--r-- 1 root root 0 Oct 23 10:59 ssl_*****_log -rw-r--r-- 1 root root 220 Oct 23 10:59 ssl_error_log
直接修改文件内容
sed 的 -i 选项可以直接修改文件内容
# sed -i ‘s/access/*****/g‘ test2 # cat test2 total 16 -rw-r--r-- 1 root root 1991 Oct 23 11:03 *****_log -rw-r--r-- 1 root root 1614 Oct 23 11:00 error_log -rw-r--r-- 1 root root 0 Oct 23 10:59 ssl_*****_log -rw-r--r-- 1 root root 220 Oct 23 10:59 ssl_error_log
标签:Edito 编辑 tps 除了 oob version 退出 ssl 输出
原文地址:https://www.cnblogs.com/zwj-linux/p/11739150.html