Linux sed命令使用实例

  sedLinux下一款功能强大的文本处理工具,可以替换、删除、追加文件内容,支持正则表达式使用。

  • 文本替换

    1. 将当前sed目录下1.txt文件里的ccc替换成xxx
    # sed -i 's/ccc/xxx/' ./sed/1.txt  
    
    1. 将当前sed目录下所有文件里的bbb替换成xxx
    # sed -i "s/bbb/xxx/g" `grep bbb -rl ./sed/`
    
    1. 将当前sed目录下所有文件里的aaa替换成111
    # sed -i 's/aaa/111/g' `find ./sed/ -type f`
    
Linux sed命令使用实例_第1张图片
文本替换
  • 文本删除
    1. 删除当前sed目录下1.txt文件里的空白行
    # sed -i '/^$/d' ./sed/1.txt
    
    1. 删除当前sed目录下所有文件里的空白行
    # sed -i '/^$/d' `find ./sed/ -type f`
    
    1. 删除当前sed目录下2.txt文件里以111开头的行
    # sed -i '/^111/'d ./sed/2.txt 
    
    1. 删除当前sed目录下1.txt文件里的第2行
    # sed -i '2d' ./sed/1.txt 
    
    1. 删除当前sed目录下2.txt文件里的第1行以后的行
    # sed -i '2,$d' ./sed/2.txt 
    
Linux sed命令使用实例_第2张图片
文本删除1
Linux sed命令使用实例_第3张图片
文本删除2
Linux sed命令使用实例_第4张图片
文本删除3
  • 文本追加

    1. 将8888追加到当前sed目录下所有文件里xxx后面
    # sed -i 's/xxx/& 8888/g' `find ./sed/ -type f`
    
    1. 将yyy追加到当前sed目录下所有文件里xxx后面,注:没有空格
    # sed -i 's/xxx/&yyy/g' `find ./sed/ -type f`
    
    1. 将12345追加到当前sed目录下1.txt文件里以111开头的上面
    # sed -i '/^111/i\12345' ./sed/1.txt
    
    1. 将67890追加到当前sed目录下1.txt文件里以111开头的下面
    # sed -i '/^111/a\67890' ./sed/1.txt 
    
    1. this is a 1.txt line追加到当前sed目录下1.txt文件里的第3行
    # sed -i '3i\this is a 1.txt line' ./sed/1.txt
    
Linux sed命令使用实例_第5张图片
文本追加1
Linux sed命令使用实例_第6张图片
文本追加2

结:本人也是在工作中不断的学习、实践。当时为了解决问题,掌握了sed命令,其实在期间也考虑了使用ngx_http_substitutions_filter_module或replace-filter-nginx-module模块,最后选择了sed解决问题,就是为了快捷方便简单。

---- END ----

你可能感兴趣的:(Linux sed命令使用实例)