sed 语法
-i 写入到文件
-n 屏蔽默认输出(全部文本)
-r 启用扩展正则(放于选项之首)
-p 打印
-s 字符串替换
-d 删除行
sed 示例
> sed -n 'p' a.txt #输出所有行
> sed -n '4p' a.txt #输出第4行
> sed -n '1,4p' a.txt #1-4行
> sed -n '1p;4p' a.txt #1和4行
> sed -n '4,+10p' #第4行后再加10行输出
> sed -n '/^bin/p' #输出以bin开头的行
> sed -r 's/[0-9]//g;s/^( )+//' n2.txt #去掉数字,去掉开头的空格
> sed -r 's/([A-Z])/[\1]/g' n2.txt #将所有大写字母添加括号
> cat -n rc.local | sed -n '1~2p' #打印奇数行;'2-2p'为偶数行
> sed '9,15H;16G' /etc/passwd #将9到15行复制到16行下
> sed -r 's/(.)(.)(.)/\l\1\l\2\l\3/g' 22 #将大写字母改成小写
> sed -r 's/(.)(.)(.)/\u\1\u\2\u\3/' 22 #将小写字母改成大写
> sed -i '112s/.*//' sudoers
> sed -i '112i isvadmin ALL=(ALL) NOPASSWD: ALL' sudoers
> sed '3,5d' /etc/passwd #删除3到5行
> sed '/xml/d' a.txt #删除所有包含xml的行
> sed '/xml/!d' a.txt #删除不包含xml的行,!代表取反
> sed '/^install/d' a.txt #删除以install开头的行
> sed '$d' a.txt #删除文件最后一行
> sed '/^$/d' a.txt #删除所有空行
> sed 's/xml/XML/' a.txt #将每行中第一个xml替换成XML
> sed 's/xml/XML/3' a.txt #将每行中的第3个xml替换成XML
> sed 's/xml/XML/g' a.txt #将每行中的所有xml替换成XML
> sed 's/xml//g' a.txt #将所有的xml都删除(替换成空串)
> sed '4,7s/^/#/' a.txt #将4~7行加'#'注释
> sed 's/^#an/an/' a.txt #解除以#an开头的行注释(去除行首的#号)
shell3-sed
于 2024-03-27 20:13:47 首次发布
本文详细介绍了sed命令的各种选项和功能,包括行选择、正则表达式操作、写入文件、字符串替换、删除行等,展示了如何使用sed进行文本处理和文件编辑工作。
摘要由CSDN通过智能技术生成