Linux(Centos 7.6)命令详解:sed

1.命令作用

流编辑器过滤和转换文本(stream editor for filtering and transforming text);sed是一种强大的流式文本编辑器,主要用于非交互式文本处理;

2.命令语法

Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...

3.参数详解

OPTION:

  • -n, --quiet, --silent,抑制默认输出行为(静默输出) 
  • -e script, --expression=script,可指定多个-e参数,定义多个可执行的命令
  • -f script-file, --file=script-file,将script-file的内容添加到需要执行的命令中
  • --follow-symlinks,修改符号链接而非实际文件(默认参数),与-i参数一起使用,软链接修改后会变成实际的文件
  • -i[SUFFIX], --in-place[=SUFFIX],直接修改文件edit files in place (如指定SUFFIX后缀,则进行备份为后缀名称,然后修改源文件);如果修改的是软链接,修改后会变成实际的文件
  • -c, --copy,-i直接修改文件时,使用重命名(rename)而不是拷贝复制(copy),保留文件的inode和权限属性
  • -b, --binary,不进行任何操作;以兼容WIN32/CYGWIN/MSDOS/EMX (以二进制模式打开文件(CR+LFs are not treated specially))
  • -l N, --line-length=N,-l N后指定'l'命令来指定换行的长度N
  • --posix,默认为GNU扩展;--posix是禁用所有GNU扩展,使用POSIX扩展,主要是为了兼容macOS系统用
  • -r, --regexp-extended,在脚本中使用扩展正则表达式;默认使用基本正则(BRE),-r指定扩展正则(ERE)
  • -s, --separate,将文件视为独立的,而不是单个连续的长流;默认情况下sed将所有输入的文件视为连续数据流(行号连续递增),添加-s后每个文件独立维护处理上下文(行号、模式空间等重置);会影响多个文件处理的性能
  • -u, --unbuffered,从输入文件加载最少量的数据,并更频繁地刷新输出缓冲区;即sed默认会按块缓冲输入数据以提高性能,添加-u后强制逐行立即处理输入流,禁用缓冲优化;会影响大文件或多文件处理的性能
  • -z, --null-data,用NUL字符分隔行;默认分隔行是\n,-z可将\n作为普通字符进行被替换
  • --help,显示帮助信息并退出
  • --version,输出版本信息并退出

script-only-if-no-other-script:

  • s, '[[n,]m]s/regexp/replacement/[num/i/g/p/w newfile]'
    • s是将regexp正则匹配的内容替换为replacement替换内容
    • 其中n、m为数值,[[n],m]省略即全文操作,若指定[[n],m]则替换指定的m行或则n到m行;
    • 其中 为分隔符号,也可以指定为井号(#),如's#regexp#replacement#g',只要三个分隔符号指定一样即可;
    • 同一行有多个regexp正则匹配,默认仅替换第一个,num可以指定替换匹配的第几个
    • i 是忽略大小写
    • g是同一行中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆是浪个

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值