`
sunxboy
  • 浏览: 2878662 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

sed实现直接修改文件内容

 
阅读更多

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文件


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

 

 

分享到:
评论

相关推荐

    windows下cmd程序sed命令所需文件

    你需要将`sed`所在目录添加到系统的`PATH`环境变量中,这样可以在任何位置直接调用`sed`命令。具体操作如下: 1. 找到`sed.exe`的安装路径,例如`C:\Program Files\GnuWin32\bin`。 2. 右键点击“计算机”或“此电脑...

    Linux下sed命令的用法

    其中,选项部分可以用于控制sed的行为,例如-i选项可以用于直接修改文件内容。脚本部分通常包含地址和处理指令,用于指定sed应当在哪个文本段落上执行什么样的操作。如果不指定文件,sed会从标准输入读取数据。 接...

    sedsed工具

    1. **备份原始文件**:在执行修改操作前,可以先将文件复制一份,如`cp file.txt file.txt.bak`,以防误操作。 2. **管道操作**:与其他命令结合使用,如`grep pattern file.txt | sedsed 's/something/else/g'`,先...

    通用线程sed 实例

    1. **不修改原始文件**:sed不会直接修改输入文件,而是将处理后的结果输出到标准输出。 2. **逐行处理**:sed是基于行的编辑器,它逐行读取文件内容并应用命令。 3. **命令的作用范围**:如果不指定特定行范围,则...

    sed手册完整版

    移动文件中的数据可以使用sed结合`N`和`P`命令实现。例如,假设你需要将两行合并为一行: ``` sed 'N; s/\n//; p' input_file ``` 这里`N`命令读取下一行并附加到模式空间,`s/\n//`删除中间的换行符,`p`打印结果...

    sed.exe.rar

    总的来说,sed是一个强大的文本处理工具,可用于处理大量文本数据,而在反向代理设置中使用它可以实现动态内容修改,以适应多种网络服务需求。了解和掌握sed的使用,对于系统管理员和开发人员来说,是提升效率和保障...

    linux sed命令详解

    需要注意的是,默认情况下,`sed`并不会直接修改原始文件的内容,除非用户显式地指定了输出重定向或使用`-i`选项直接修改文件。 #### 使用场景 - **自动化文本编辑**:比如批量修改配置文件中的某些设置。 - **...

    Linux sed 教学PPT

    4. **替换并保存到原文件**:直接修改文件内容。 ```bash sed -i 's/old/new/g' filename.txt ``` **五. 高级sed** 高级`sed`技巧包括使用地址范围、模式空间、hold空间、函数以及正则表达式等。例如,可以...

    快速理解linux流编辑器sed命令

    - `[options]`:用于控制 `sed` 的行为,如 `-i` 表示直接修改文件内容。 - `'command'`:包含了实际的操作指令。 - `file`:指定要编辑的文件路径。 #### 四、sed 命令的基本操作 ##### 1. 删除 (`d`) `d` 命令...

    Sed AWK编程指南

    虽然不建议这样做,但 `sed` 也支持直接修改输入文件。 示例: ``` sed -i 's/old/new/g' file.txt ``` #### 六、其他 `sed` 命令 ##### 28. 在行后添加 (`a` 命令) `a` 命令可以在匹配行之后添加一行文本。 ...

    linux Sed 使用手册

    它能够通过管道处理数据流,实现对文本文件的查找、替换、删除等操作,而无需直接修改原文件。本文将基于给定的`sed.txtPage1`内容,深入解析`sed`的各种命令及其应用场景,帮助读者掌握`sed`的核心功能。 #### ...

    sed用法介绍,非常实用

    sed的操作是非交互式的,也就是说它不会直接修改原始文件,而是对文件的副本进行操作。 #### 二、sed的基本用法 **1. 读取数据** sed可以从文件或标准输入读取数据,并将其复制到编辑缓冲区中。接着根据提供的...

    sed and awk 101 hacks.pdf

    - **直接修改输入文件**:sed的-i选项可以用来直接修改文件内容。 **sed附加命令** - **追加命令(命令a)**、**插入命令(命令i)**和**修改命令(命令c)**:这些命令分别用于在模式空间的指定位置追加、插入和修改文本...

    sed命令详解.docx

    由于sed处理的是缓冲区中的副本,因此原始文件不会被直接修改,除非使用特定方式保存结果。 **2. 定址** 在sed中,定址用于指定需要处理的行。它可以是数字(行号)、正则表达式或者两者的组合。如果不指定地址,...

    Sed与awk第二版(中文高清版)

    最后,本书还涉及到一些高级的文本处理技巧,比如使用sed和awk处理二进制文件(需要小心谨慎,因为错误的操作可能会破坏文件内容),以及如何通过编写自定义的sed脚本和awk程序来自动化复杂的文本处理任务。...

    sed命令.docx

    由于sed不会直接修改原文件,除非通过shell重定向将结果保存,因此它是安全的编辑工具。 **2. 定址** 定址是sed命令中非常关键的一部分,它决定了对文件中的哪些行进行操作。定址可以是行号、正则表达式或者是它们...

    sed命令大全

    sed还可以用来修改文件内容,例如删除含有特定模式的行: sed 's/actual\s\+time[^\s]\+\s\+\(.*\)/\1/g'-e'/Total/d' column.txt 另外,可以利用sed命令提取文件路径中最外层的文件夹名: 例如:提取"/home/whuang...

    Linuxsed批量替换字符串方法.pdf

    使用`-i`选项可以在原地编辑文件,即直接修改文件内容而不需要输出到标准输出。例如,将文件中的“test”替换为“mytest”: ```bash sed -i 's/test/mytest/g' filename ``` 4. 打印需要的内容 使用`-n`选项结合`p`...

    LINUX_sed命令详解

    - `-i`:直接在原文件上进行修改,不保留原始文件。 - `-r`:使用扩展正则表达式。 需要注意的是,不同的Linux发行版可能内置不同版本的sed,某些高级功能可能在某些版本中不可用。例如,Solaris的sed比某些Linux...

Global site tag (gtag.js) - Google Analytics