使用linux shell修改文本

1,提高脚本的稳健性能

    首先检查所要修改的文件是否存在。如果不存在...视应用场景适配。如果存在,继续脚本的执行。这里主要用到find命令,如果解释器是CSH,可以这样写

    set file_name = `find 路径 -name 文件名`

    if ( $file_name != "文件名") then

    ...

    endif

    如果解释器是BASH,可以参考GNU 的BASH说明文档。

2,修改文本

    如果想直接替换文本中的某一行,可以使用sed命令的\c模式,语法如下

    sed '/被替换行格式(正则表达式)/' c\ "替换文本" 文件名

    如果只想替换一行中的某一段,也是用sed命令,不过使用s模式,语法如下

    sed 's/被替换行格式(正则表达式)/' "替换文本" 文件名

3,使用sed处理文本时,最好使用管道连接

    如果要处理多行文本,这样写效率太低(偶以前就是这样写的),因为在反复地读写保存文档

    sed ... > tmp

    cat tmp > 文档

    sed ... > tmp

    cat tmp > 文档

    可以使用管道加换行符

    sed ... | \

    sed ... | \

    最后再一次保存文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值