文本编辑(sed, awk, xargs)

sed擅长取行,awk命令擅长取列

sed

  • 格式sed <option> <script> <file>
    • file不指定则默认为STDIN

option

  • -i: 直接修改文件中的数据
    • sed默认不会修改文件数据,而是把修改后的数据发送到STDOUT
  • -i.backup修改源文件并自动备份
    • 会加上.backup后缀
  • -e: 执行多个命令
    • 命令之间必须用分号隔开
    • 命令末尾和分号之间不能有空格
    • 例子:sed -e 's/brown/green/; s/dog/cat/' data.txt
  • -f: 从脚本文件中读取命令
    • 每个命令一行,无需分号
    • 例子:sed -f script.sed data.txt
  • -n:不产生命令输出,用p完成输出

script

  • s 命令:用第二个斜线间的字符串替换第一个斜线间的匹配的模式(正则)
    • 格式:sed '[address] s/pattern/replace/[flag]'
      • 单引号也可以替换为双引号
    • 默认只替换每行第一处匹配的字符串
    • 默认的斜线分隔符不易处理路径(特别是替换目录时),所以也可以用|^@!?中任意一个当分隔符
      • 例子:sed 's!/bin/bash!/bin/sh!' /etc/passwd
    • 替换标记(flag)
      • <数字>:第几处模式匹配的地方
      • g:替换所有匹配的文本
      • <数字>g表示第几个以后的匹配文本
      • p:配合option-n只打印被修改过得行
        • 例子:sed -n 's/test/dev/p' in.txt
        • 也可以配合!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值