sed命令 流文本编辑 ## -i 选项 -i inplace原地修改 sed 's/SELINUX=enforcing/SELINUX=disabled/g' config #注意,内容只是打印在屏幕上,原文件内容没有改变。 # s substitute=replace=替换 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' config # -i inplace原地修改 # :% s/old/new/g #在vim里面 ## 选项 -e # 语法 syntax 围绕 "match匹配" "action操作" /sed/d "match匹配" 包含有sed的行 "action操作" 是d delete删除 常网的 "action操作" d删除 p打印内容 =打印行号 i a c #类似vim 里面 insert append change sed -e 's/hello/hi/' -e '/sed/d' test.txt sed '/world/p' test.txt #把匹配的打印出来,然后文件整个打印出来 sed -n '/world/p' test.txt ##只把匹配的打印出来,一般 -n 和p结合起来使用 sed '/world/=' test.txt # 打印匹配内容所在行 行号 和 其他没匹配的内容 sed -n '/world/=' test.txt #只打印匹配内容所在行 行号 "match匹配" 匹配方式一 : /keyword 匹配方式二: '4p' '1,4p' $ 表示最后一行 ##vim/grep ^root login$ sed 'p' test.txt #打印所有内容 sed -n '1p' test.txt #只打印第1行 sed -n '2p' test.txt #只打印第2行 sed -n '1,5p' test.txt # 打印1-5行 sed '$d' a.txt ## $表示最后一行 d删除, sed '2ifoo' test.txt #匹配第2行,i 在第2行 “前面”增加一行,内容为foo sed '$abar' test.txt #匹配最后1行,a 在最后一行 “后面”增加一行,内容为bar sed '2ifoo\n\rbar' test.txt ## 可以增加多行内容 分别是 foo 和 bar sed '5chello world' test.txt ## 匹配第5行,action 是c change改变 sed '1,5chello world' test.txt #1~5行换为hello world sed 'a\n\raaaaa\n\rbbbbb\n\r88888' test.txt 举例, 集群安装,有个shell脚本,执行时候需要参数 $1 $2 通过 grep awk sed 如何获取本机ip/内网IP ip a |grep 192.168 | awk '{print $2}' | awk -F "/" '{print $1}' INTERFACE=`ip route |awk '{print $3}'` ifconfig $INTERFACE | grep -w inet | awk '{print $2}' nano emacs vim mysql basics 基础 入门 docker basics 基础 入门 mysql cheatsheet 助记表 docker cheatsheet 助记表