zoukankan      html  css  js  c++  java
  • 常用的Bash 替换字符串 命令

    一,基本替换

    #替换当前行第一个str1为str2
    $ :s/str1/str2/     
    
    #替换当前行所有str1为str2
    $ :s/str1/str2/g
    
    #替换第 n 行开始到最后一行中每一行的第一个str1为str2
    $ :n,$s/str1/str2/
    
    #替换第 n 行开始到最后一行中每一行所有str1为str2
    $ :n,$s/str1/str2/g
    
    #替换每一行的第一个str1为str2
    $ :%s/str1/str2/(等同于 :g/str1/s//str2/)
    
    #替换每一行中所有str1为str2
    $ :%s/str1/str2/g(等同于 :g/str1/s//str2/g)

    二,使用 # 或 + 作为分隔符,此时的/不作为分割符

    #替换当前行第一个str1/ 为str2/
    $ :s#str1/#str2/#
    
    #/str11/str12/替换成/str21/str22/
    $ :%s+/str11/str12/+/str21/str22+

    三,sed命令替换字符串

    #单引号里面,s表示替换,三根斜线中间是替换的样式
    $ sed 's/原字符串/替换字符串/'

    特殊字符需要使用反斜线””进行转义,但是单引号”‘”是没有办法用反斜线””转义的,这时候只要把命令中的单引号改为双引号

    例如:sed “s/原有‘’字符/替换字符/”

    四,文件中删除^M

    问题描述:对于换行,Windows下用回车换行(0A0D)来表示,Linux下是回车(0A)来表示。这样,将window上的文件拷到Unix上用时,总会有个^M

    去除^M的两种方法如下:

    (1)使用命令:cat oldfilename | tr -d “^V^M” > newfilename

    (2)使用命令:sed -e “s/^V^M//” oldfilename > newfilename

  • 相关阅读:
    Vue自定义过滤器格式化数字三位加一逗号
    js复制功能
    vue中数据接收成功,页面渲染失败
    css技巧
    vue+elementUI table篇
    图片预加载
    jquery实现文字自动向上滚动,鼠标放上去停止,移开继续滚动代码...
    【Flutter】广播机制
    【Flutter】IOS打包
    【Flutter】BottomNavigationBar切换页面被重置问题(保存状态)
  • 原文地址:https://www.cnblogs.com/yy136/p/8283321.html
Copyright © 2011-2022 走看看