Sed 用法
sed 常用选项 -n:不输出模式空间中的内容至屏幕 -e:多点编辑(可以多个命令进行) -f:每行一个编辑命令 -r:支持使用扩展正则表达式 -i:直接编辑原文件 ? 地址定界 1、空地址:对全文进行处理 2、单地址: #:指定行 /pattern/:被此模式所匹配到的每一行 3、地址范围 #,#: #,+#: #,/pat1/ /pat1/,/pat2/ 4、步进:~ 1~2:所有的奇数行 2~2:所有偶数行 ? 编辑命令: d:删除 p:显示模式空间中的内容 a text:在行后面追加文本,支持使用n实现多行追加 i text:在行前面插入文本,支持使用n实现多行插入 c text:把匹配到的行替换为此处指定的文本 w /PATH/TO/SOMEFILE:保存模式空间匹配到的行至指定的文件中 r /PATH/FROM/SOMEFILE:读取指定文件的内容至当前文件被模式匹配到的行后面;文件合并 =:为模式匹配到的行打印行号(sed ‘/^UUID/=‘ /etc/fstab) !:条件取反(sed ‘/^#/!d‘ /etc/fstab) s///:查找替换,分隔符可自行指定 替换标记: g:全局替换 w /PATH/TO/SOMEFILE:将替换成功的结果保存至指定文件中 p:显示替换成功的行 ? 练习1:删除/boot/grub2/grub.cfg文件中所有以空白字符开头的行的行首的所有空白字符 sed ‘s/^[[:space:]]+//g‘ /boot/grub2/grub.cfg 练习2:删除/etc/fstab文件中所有以#开头的行的行首的#号及#后面的所有空白字符 sed ‘s/^#[[:space:]]*//g‘ /etc/fstab 练习3:输出一个绝对路径给sed命令,取出其目录,其行为类似于dirname echo "/var/log/messages" | sed ‘s/[^/]+$//‘ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |