精华内容
下载资源
问答
  • shell>sed (对文件的内容进行替换)

    千次阅读 2020-02-21 14:36:23
    shell>sed (对文件的内容进行替换)

    在生产环境中经常会遇到对配置文件的修改,那写成一个脚本,传个参数修改配置文件不就方便多了吗。
    对一个文件的操作那我暂且分为增删改查了


    写在前面

    • -i 这个参数很重要,若需要更改源文件,请配合-i参数使用。
    • 一开始对一个空文件进行操作,发现无法操作,写入一点内容就可以了。

    sed -i '2a lalala' test.conf #在文件的第二行下面插入一行(lalala)
    
    sed -i '$a hahahaha' test.conf #在文件的最后新增一行(hahaha)
    
    sed -i '1i papapa' test.conf #在第一行前面插入一行(papapa)
    

    sed -i '1d' test.conf #删除文件的第一行
    
    sed -i '2,$d' test.conf #删除第二行到最后一行
    

    s 后包含在斜杠中的文本是正则表达式,后面跟着的是需要替换的文本。可以通过 g 标志对行进行全局替换

    sed -i 's/^hahaha/papapa/g' test.conf #将所有hahaha替换为papapa,g表示全局替换
    
    sed -e '1,3d' -e 's/^hahah/papapa/g' test.conf #多重编辑
    
    sed -i '/lalalala/c pupupupu' test.ini #修改包含有lalalalala的一行为pupupupu
    
    sed -i '1,5y/abcd/ABCD' test.ini #将1到5行的小写abcd转换为大写的ABCD
    

    • 给sed命令传递参数

    sed -i "/hahaha/c ${param}" test.ini #注意使用双引号,${}使用环境变量
    

    参考文档
    【CSDN----Shell 文件内容替换 sed用法】
    【博客园----sed命令用法】
    【CSDN—三剑客之Sed关于 p、a、d、w、i 、c 模式的干货】


    • sed正则表达式
      在这里插入图片描述
    • sed常用选项
      在这里插入图片描述
    • sed操作命令
      在这里插入图片描述
    展开全文
  • 使用sed批量修改文件

    2019-10-07 11:47:13
    在思考如何脚本化这个问题的时候,我想到这个需求有一个关键点是:需要修改原文件,而不是在管道中传递。请教Google大神之后,再man sed一下,答案出来了。 1,使用sed的打印功能,在执行替换前检查一下$sed -n '/....

    下午的时候遇到一个烦事,需要将一些html中的图片由png改为gif。大约有20来个,如果一个一个改的话,真是有些烦人。该自动化的都应该让他自动化。

    在思考如何脚本化这个问题的时候,我想到这个需求有一个关键点是:需要修改原文件,而不是在管道中传递。请教Google大神之后,再man sed一下,答案出来了。

    1,使用sed的打印功能,在执行替换前检查一下

    $sed -n '/.png/p'  c*.htm

     

    2,没有问题的话,执行替换

    $sed -i  's/.png/.gif/'  c*.htm

     

    3,如果你在执行替换前想做一个备份(在原文件之后加.bak扩展名)

    $sed -i.bak 's/.png/.gif/' c2.htm

     

    使用Evernote之后,我的很多即时性的小脚本都可以记录下来了。这相当于一个缓冲区,先存在缓冲区中之后再将其Blog出来。

    以后,会有很多小篇幅的Blog,来记录这些随手使用的小脚本。

     

    转载于:https://www.cnblogs.com/Jerry-Chou/archive/2011/03/15/1985419.html

    展开全文
  • liunx sed 修改文件

    2017-10-24 18:53:22
    比如,我想替换文件中的 properties 为 property ,可以使用sed ‘s/properties/property/g’ build.xml 这种方式,其实并没有修改build.xml文件的内容。如果想保存修改,通常的做法就需要重定向到另外的一个文件 ...

    比如,我想替换文件中的 properties 为 property ,可以使用

    sed ‘s/properties/property/g’ build.xml
    这种方式,其实并没有修改build.xml文件的内容。如果想保存修改,通常的做法就需要重定向到另外的一个文件
    sed ‘s/properties/property/g’ build.xml > build.xml.tmp
    这样,build.xml.tmp文件就是修改后的文件.
    如果无误,那么就可以用
    mv build.xml.tmp build.xml
    覆盖原文件。
    如果想直接修改源文件,而没有这样的过程,可以用下面的命令

    sed -i ‘s/properties/property/g’ build.xml

    这样,就直接修改了build.xml文件

    注:还有一个更简单的方法
    sed -in-place -e ‘s/abc/cba/g’ build.xml

    展开全文
  • sed实现直接修改文件内容

    千次阅读 2015-11-24 13:13:22
    但是某些时候,我们需要直接修改文件,因为,保存文件到一个文件,然后再覆盖原文件的办法显得很麻烦。 其实很简单,只需要一个 -i 参数就可以了。 比如,我想替换文件中的 properties 为 property ,可以使用 ...
     
    sed是实现对流的编辑。通常,我们使用sed可以实现内容的编辑后然后保存成另外的一个文件,如果正确的话,才写入到源文件。但是某些时候,我们需要直接修改文件,因为,保存文件到一个文件,然后再覆盖原文件的办法显得很麻烦。
    
    其实很简单,只需要一个 -i 参数就可以了。
    比如,我想替换文件中的 properties 为 property ,可以使用

    sed  's/properties/property/g'  build.xml
    这种方式,其实并没有修改build.xml文件的内容。如果想保存修改,通常的做法就需要重定向到另外的一个文件
    sed  's/properties/property/g'  build.xml > build.xml.tmp
    这样,build.xml.tmp文件就是修改后的文件.
    如果无误,那么就可以用
    mv build.xml.tmp build.xml
    覆盖原文件。
    如果想直接修改源文件,而没有这样的过程,可以用下面的命令

    sed   -i  's/properties/property/g'  build.xml

    这样,就直接修改了build.xml文件。
    展开全文
  • shell脚本采用sed批量修改文件

    千次阅读 2016-12-07 14:54:19
    周末看《sed 与 awk 第二版》的时候,看到书上有个很好的shell脚本-runsed,用来批量修改文件,当然是通过调用sed修改脚本代码如下: # !/bin/bash for x do echo “editing $x: \c” if ...
  • 最近因为服务器升级需要大量修改ip所以很是头疼,百感交集之时发现高人所记录的sed用法 亲测实用 批量替换文本里的字符串 我直接运行 sed -i "s/文本/替换后的...sed -i : 直接修改文件内容 grep -l : 查找到...
  • MacOS sed对文件中匹配的行进行替换

    千次阅读 2019-12-12 11:33:09
    例:替换 test.txt文件中 以"HHH"开头的行 为...-i: 表示直接对文件进行修改 macOS: sed -i ".bk" "s/^HHH.*/hello world/g" test.txt 匹配行时需要使用正则表达式:'.'表示匹配任意字符,'*'表示匹配零次或...
  • 分割-f` 演示:调用文本命令-n 演示:抑制内存输出-i 演示:更改原文件-i.bak 演示:先备份再更改原文件-r 演示:扩展正则flags 标志说明数字 演示:匹配第几个替换字符串g 演示:替换所有w filename 演示:将...
  • linux下通过sed命令直接修改文件内容

    万次阅读 2018-08-27 15:51:19
    但是某些时候,我们需要直接修改文件,因为,保存文件到一个文件,然后再覆盖原文件的办法显得很麻烦。 其实很简单,只需要一个 -i 参数就可以了。 sed -i ‘s/abc/xxx/g’ file abc修改前的字符串 x...
  • 让我们看一下 sed 最有用的命令之一,替换命令。使用该命令,可以将特定字符串或匹配的规则表达式用另一个字符串替换。下面是该命令最基本用法的示例: $ sed -e 's/foo/bar/' myfile.txt 上 面的命令将 myfile....
  • 1、替换并输出(不修改源文件): sed 's/dog/cat/g' file ##dog被替换的内容,cat替换的内容 2、备份后直接替换至源文件: sed -i.bak 's/dog/cat/g' file 3、替换第n行到第m行: sed 'n,ms/dog/cat/g' file ##n、m...
  •  命令格式:sed -i 's/旧内容/新内容/g' 文件路径 sed -i 's/oldString/newString/g' file 例如:我想替换cwx.txt文件中的 java 为 linux ,可以使用以下命令: sed -i 's/java/linux/g' cwx.txt   ...
  • xargs sed 批量替换文件内容

    万次阅读 2016-09-19 16:47:38
    sed 批量替换文件内容Linux下批量替换多个文件中的字符... sed -i "s/字符串/新字符串/g" `grep 字符串 -rl 所在目录`例如:我要把mahuinan替换 为huinanma,执行命令: sed -i "s/mahuinan/huinanma/g" `grep mah
  • sed -i "s/要搜索字串/替换成的字串/g" 文件名 或者 sed -i s#要搜索字串#替换成的字串#g文件名 #全文删除特定字串 sed -i "/要删的内容/d" 文件名 #全文删空行 sed -i "/^$/d" 文件名 #全文删除没有任何内容的...
  • Sed 命令替换文件内容

    千次阅读 2016-12-16 15:23:46
    命令如下:sed -i “s/字符串/新字符串/g” `grep 字符串 -rl 所在目录` 例如:我要把 charset=gb2312 替换为 charset=UTF-8,执行命令:sed -i “s/charset=gb2312/charset=UTF-8/g” ‘grep charset=...
  • 但是某些时候,我们需要直接修改文件,因为,保存文件到一个文件,然后再覆盖原文件的办法显得很麻烦。其实很简单,只需要一个 -i 参数就可以了。比如,我想替换文件中的 properties 为 property ,可以使用sed 's/...
  • AIX下使用sed对文件进行操作

    万次阅读 2012-12-06 22:15:16
    一.附加文本 使用a\在指定行后面附加1行或多行;...1.a\通知sed对a\后面的内容进行附加操作。 2.每行后面都有"\",当sed执行到\时,将创建一个新行,并将内容添加进去。 3.最后一行不能有"\"。 例子:
  • 处理工具:grep sed awk 常用元字符 \ 转义字符。例如:“\!”将逻辑否的!看做普通字符 ^ 匹配字符串开始的位置,以…为开头的 $ 匹配字符串结束的位置,以…结束的 . 匹配任意一个字符 匹配前面子表达式0词或多...
  • 使用sed命令可以进行字符串的批量替换操作,以节省大量的时间及...其中,oldstring是待被替换的字符串,newstring是待替换oldstring的新字符串,grep操作主要是按照所给的路径查找oldstring,path是所替换文件的路...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,464
精华内容 8,185
关键字:

sed对原文件修改