精华内容
下载资源
问答
  • 一、linux sed 批量替换多个文件内容sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 其中,grep oldstring -rl yourdir是查寻目录中文件内容   如将indexeddb目录里的文件内容替换 ...

    一、linux sed 批量替换多个文件内容
    sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`

    其中,grep oldstring -rl yourdir是查寻目录中文件内容

     

    如将indexeddb目录里的文件内容替换

    #IDBTransaction.READ_ONLY替换为"readonly"

    sed -i "s/IDBTransaction.READ_ONLY/\"readonly\"/g" `grep "IDBTransaction.READ_ONLY" -rl indexeddb/`

    #driver.get_current_url()替换为driver.current_url

    sed -i "s/driver.get_current_url()/driver.current_url/g" `grep "driver.get_current_url()" -rl webdriver/`

     

    -i 表示inplace edit,就地修改文件
    -r 表示搜索子目录
    -l 表示输出匹配的文件名

     

    二、Perl命令:
    perl -pi -e 's|ABCD|Linux|g' `find ./ -type f`
    将调用perl执行一条替换命令,把find命令找到的所有文件内容中的ABCD替换为Linux

    find ./ -type f
    此命令是显示当前目录下所有的文件

    上面的“s|ABCD|Linux|g”是perl要执行的脚本,即把所有ABCD替换为Linux
    如果不写最后的那个g,“s|ABCD|Linux| ”将只替换每一行开头的ABCD

     

    三、行尾匹配

    如下:清除行尾的'/'

    grep "<link rel=\"author\" title=\"Intel\" href=\"http:\/\/www.intel.com\" \/>" -rl ./ |xargs -I% sed -i 's/\/>$/>/g' %

    注意表达式:s/ \ /> $/ > /g(即'/>' to '>')

    几点说明:

    1."^"代表行首,"$"代表行尾

    2.'s/$/&TAIL/g'中的字符g代表每行出现的字符全部替换,如果想在特定字符处添加,g就有用了,否则只会替换每行第一个,而不继续往后找了

    3.>> :如果文件不存在,将创建新的文件,并将数据送至此文件;如果文件存在,则将数据添加在文件后面
    4.>  :如果文件不存在,同上,如果文件存在,先将文件清空,然后将数据填入此文件.

     

    展开全文
  • sedLinux下是个强大的工具,这里主要说替换: 1、替换并输出(不修改源文件): sed 's/dog/cat/g' file ##dog被替换内容,cat替换内容 2、备份后直接替换至源文件: sed -i.bak 's/dog/cat/g' file 3、替换第...

    sed在Linux下是个强大的工具,这里主要说替换:

    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为数字

    4、替换内容xxx和***之间的内容:

    sed '/A/,/B/s/dog/cat/g' file ##替换A和B之间的内容

    5、一次替换多个多个内容:

    sed -e 's/dog1/cat1/g' -e 's/dog2/cat2/g' file

    本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2012-12/75851.htm

    展开全文
  • ——编程三分钟”概述sed命令是用来批量修改文本内容的,比如批量替换配置中的某个ip。sed命令在处理时,会先读取一行,把当前处理的行存储在临时缓冲区中,处理完缓冲区中的内容后,打印到屏幕上。然后再读入下一行...
    击上方编程三分钟”,马上关注,每天早上8:50准时推送。 我才不要手动改配置。——编程三分钟

    概述

    sed命令是用来批量修改文本内容的,比如批量替换配置中的某个ip。
    sed命令在处理时,会先读取一行,把当前处理的行存储在临时缓冲区中,处理完缓冲区中的内容后,打印到屏幕上。然后再读入下一行,执行下一个循环。不断的重复,直到文件末尾。
    语法:

    sed [参数] [文本或文件]

    由于不加-i参数只会输出到控制台不会写入到文件中,所以以下例子默认加-i

    插入

    1. 在某行前面插入一行

    $ sed -i "1a insert after" file.txt
    $ cat file.txt
    1
    insert after
    2
    3

    其中1a表示在第1行后(after)插入

    1. 在某行后面插入一行

    $ sed -i "1i insert before" file.txt
    $ cat file.txt
    insert before
    1
    2
    3

    其中1i表示在第1行前插入

    删除

    $ sed -i '2,3d' file.txt
    $ cat file.txt
    1

    删除行可以删除一行 (3d删除第三行),也可以写一个范围(2,3d删除2-3行,闭区间),$符号代表末尾
    缺点是只能多次连续删除行,不能一次性删除匹配到的行,可以用正则删除(/^2/d代表删除所有内容以2开头的行)

    替换行

    $ sed -i '2c replace' file.txt
    $ cat file.txt
    1
    replace
    3

    2c replace表示替换第2行的内容为replace
    缺点是只能多次替换行,不能一次性替换全部匹配到的行,可以用正则替换(/^2/c replace代表替换所有以2开头的行为replace)

    仅替换匹配的字符串

    为了便于演示修改文件内容为

    $ cat -n config.txt
         1    name=coding3min
         2    age=0
         3    email=coding3min@foxmail.com
         4    name=coding3min
         5    age=0
         6    email=coding3min@foxmail.com

    使用命令批量替换3-4行之间coding3min字符串为tom

    $ sed -i '3,4s/coding3min/tom/g' config.txt
    $ config.txt
    name=coding3min
    age=0
    email=tom@foxmail.com
    name=tom
    age=0
    email=coding3min@foxmail.com

    s/coding3min/top/g代表全文匹配不限制行,去掉g代表只替换匹配到的第一个如s/coding3min/top

    查找与输出

    输出3-4行的内容

    sed -n 3,4p config.txt
    email=coding3min@foxmail.com
    name=coding3min

    查找所有以name开头的行

    sed -n '/^name/p' config.txt
    name=coding3min
    name=coding3min

    可以看到只要用-n参数+匹配p模式就可以sj查找并输出

    自动创建备份文件

    当然了,直接sed -i很容易造成替换错误,哭都没办法哭!所以需要事先用-n+p也就是上一节说的方法先校验下结果。但是每个都校验显然是不实际的。所以可以用 sed -i备份文件后缀的方式例如sed -i.bak或者sed -i.backup

    $ sed -i.bak 's/coding3min/kitty/g' config.txt
    $ ls
    config.txt config.txt.bak
    $ cat config.txt
    name=kitty
    age=0
    email=kitty@foxmail.com
    $ cat config.txt.bak
    name=coding3min
    age=0
    email=coding3min@foxmail.com

    与grep的结合使用

    grep结合使用最爽的点就在可以提前校验和批量替换,提高容错率和效率,不会的赶紧Get了

    sed -i 's/coding/kitty/g' `grep -rl coding *`
    $cat config.txt
    name=conding3min
    age=0
    email=conding3min@foxmail.com
    $cat test/config.txt
    name=conding3min
    age=0
    email=conding3min@foxmail.com

    看明白了吗?上一节说的grep -rl递归找到匹配的文件,并把文件名输出,前后加上了 ` 反引号,就是键盘左上角数字1左边那个符号,代码提前执行。
    然后再使用替换文件内容。

    其他技巧

    使用sed把DOS格式的文件转换为Unix格式 sed 's/.$//' filename

    匹配所有包含邮箱的行,(-n 选项让sed仅仅是输出经过处理之后的那些行)

    sed -n '/[A-Za-z0-9]\+\@[a-zA-Z0-9_-]\+\(\.[a-zA-Z0-9_-]\+\)/p' config.txt

    email=coding3min@foxmail.com

    email=coding3min@foxmail.com

    去掉所有的html标签

    $ cat html.txt

    hi!I'm
    $ sed '
    s/]*>//g' html.txt
    hi!I'
    m father

    推荐阅读

    (点击标题可跳转阅读)

    linux三剑客之老三grep

    我的服务器怎么老这么慢,难道说是被挖矿了?linux开机启动项自查

    我偷偷挖了一条网络隧道,差点被公司激活

    回复 m 获取全部文章目录

    03957191713ffd0ba492b91f5b3eb3ab.png

    如果有帮助别忘了分享给朋友哦~

    展开全文
  • 在linux超级终端下编辑文档是件比较麻烦的事情,下面简单介绍一下如何在linux下批量替换文件内容  linuxsed 批量替换多个文件中的字符串 格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 例如...

    在linux超级终端下编辑文档是件比较麻烦的事情,下面简单介绍一下如何在linux下批量替换文件内容

     linuxsed 批量替换多个文件中的字符串

      格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径`

      例如:替换/home下所有文件中的xxx为ooo

      sed -i "s/xxx/ooo/g" `grep xxx -rl /home`

     单个文件中的字符串替换

      将文件1.txt内的文字“111”替换成“222”

      sed -i "s/111/222/g" 2.txt

    注意:替换前请备份好文件以免造成不必要的损失,字符串要为绝对内容。

     


    sed -i "s/define host {/define host {\n\tuse generic-host-notify-interval/g" `grep "define host {" -rl ./`

    sed -i "s/define service {/define service {\n\tuse generic-service-notify-interval/g" `grep "define service {" -rl ./`

    sed -i "s/notification_interval\t3600.000000//g" *.cfg

    sed -i "s/use generic-service-notify-interval//g" `grep "use generic-service-notify-interval" -rl ./`

    转载于:https://www.cnblogs.com/Jim-william/p/4493402.html

    展开全文
  • Linux sed替换内容中有空格

    千次阅读 2020-10-23 16:43:48
    我的配置文件中有一行如下: server 192.168.3.66 iburst minpoll 3 maxpoll 6 我希望修改里面的ip地址改为192.168.3.123如何实现你,配置文件名为/etc/ntp.conf #!/bin/sh ip="192.168.3.123" str1=`cat /etc/ntp...
  • sed 批量替换文件内容 Linux下批量替换多个文件中的字符串的简单方法。用sed命令可以批量替换多个文件中的字符串。 用sed命令可以批量替换多个文件中的 字符串。 sed-i"s/原字符串/新字符串/g"`grep 原字符串 -rl ...
  • 循环替换文件的字符串,可以使用变量 #!/bin/bash list = "001 002 003 004 0005" for i in $list do sed -i "s/hello/world/" think_${i}.conf sed -i "s/wusi/student${i}/" think_${i}.conf done 以下是...
  • Linux_替换文件内容_sed

    2012-04-20 10:17:37
    Linux_替换文件内容_sed cat /dir/file A\tB\tC\tD\tE\n 例 sed 's/\t/,/' /dir/file|cat A,B\tC\tD\tE\n 例 sed 's/\t/,/' /dir/file|sed 's/\t/,/'|cat A,B,C\tD\tE\n 例 sed 's/\t/,/g' /dir/file|cat ...
  • linux批量替换文件内容3种方法(perl,sed,shell) 3种方法:linux批量替换文件内容3种方法(perl,sed,shell)
  • 语法 ... 将echo替换为printf: ... 使用sed来修改。sed是对行数据进行筛选。...sed '/echo/s/echo/printf/g' case.sh ... /s表示替换 /echo/printf表示将echo替换成printf... 往case.sh文件的第四行插入数据xxx.但是没..
  • Linux sed 替换示例

    2020-08-07 18:27:52
    文件内容格式如下: [root@localhost myshellfiles]# cat cpu.txt ddd### sohu.com dd nn ###like baidu.com ddd mm ###like qq.com dddd #@#@@ 163#.com ddd ##mama# abc.com abc ddd ##xx def.ddd.cn ddd ...
  • linux sed批量替换多个文件内容

    千次阅读 2018-10-25 20:33:00
    sed -i "s/lgside/main/g" `grep -rl lgside /home/zn/work/project-template` 注意标点符号:` 转载于:https://www.cnblogs.com/znsongshu/p/9852657.html
  • Linux 批量替换文件内容 目录 Linux 批量替换文件内容 场景前提 Linux find 命令 Linux sed命令 参数说明: 动作说明: 正则实例 正题,替换不可见字符 <0x00>, vim 打开可能会显示 ^@ 注意事项 ...
  • 标签:sed 编辑器是 Linux 系统管理员的工具包中最有用的资产之一,因此,有必要彻底地了解其应用Linux 操作系统最大的一个好处是它带有各种各样的实用工具。存在如此之多不同的实用工具,几乎不可能知道并了解所有...
  • sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules` 解释一下: -i 表示inplace edit,就地修改文件 -r 表示搜索子目录 -l 表示输出匹配的文件名 这个命令组合很强大,要注意备份文件。 (1...
  • sed -i :直接修改读取的文件内容,而不是输出到终端。 sed -i就是直接对文本文件进行操作的 替换每行第一次出现的字符串 sed -i 's/查找的字符串/替换的字符串/' 文件 替换文件中所有出现过的字符串 sed ...
  • 替换某文件的内容 sed -i 's/被替换的内容/要替换成的内容/' file 要替换某文件的内容切先...批量查找并替换当前文件夹下的文件内容 sed -i "s/要找查找的文本/替换后的文本/g" `grep -rl "要找查找的文本...
  • #替换单个文件下的内容,比如将文件中的"alidata"替换为"data". sed -i "s/alidata/data/g" test.txt #替换某个目录下所有文件中的内容,比如将root目录下所有文件中的"wwwroot"替换为"www". sed -i "s/wwwroot/...
  • linux sed 替换 与 grep查找

    千次阅读 2017-05-03 14:30:24
    ed修改文件中的内容 sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 文件所在目录` (千万注意这个符号,是最左上角那个符号不是单引号)   eg:修改php.ini中的register_globals = On为Off sed ...
  • Linux sed 替换第一次出现的字符串

    千次阅读 2016-12-16 20:33:00
    /********************************************************************************* ... * Linux sed 替换第一次出现的字符串 * 说明: * 需要替换配置文件中第一次出现的文本内容。 * * ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 780
精华内容 312
关键字:

linuxsed替换文件内容

linux 订阅