首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在特定模式之前插入多个文件中的文本

在特定模式之前插入多个文件中的文本
EN

Stack Overflow用户
提问于 2014-05-07 01:13:12
回答 1查看 43关注 0票数 1

名为animals的原始文件如下所示:

代码语言:javascript
复制
dog
cat
dolphin
cat

这个命令通过将sed '/dog/i\ Linux Scripting' animals放在Linux Scripting之前来工作,我得到了以下内容:

代码语言:javascript
复制
 Linux Scripting
dog
cat
dolphin
cat

然而,如果我做了动物头之后,文件是不变的。

代码语言:javascript
复制
$ head animals
dog
cat
dolphin
cat

如何以覆盖现有文件的方式执行此操作?

注意:用于多个文件,我希望animals*.txt保持一致

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-07 01:47:11

您可以使用-i选项进行文件中的更改.

代码语言:javascript
复制
$ sed '/dog/i\ Linux Scripting' animals
 Linux Scripting
dog
cat
dolphin
cat
代码语言:javascript
复制
$ sed -i '/dog/i\ Linux Scripting' animals
代码语言:javascript
复制
$ cat animals
 Linux Scripting
dog
cat
dolphin
cat

来自man页面:

代码语言:javascript
复制
-i[SUFFIX], --in-place[=SUFFIX]

               edit files in place (makes backup if SUFFIX supplied)

因此,您可以通过传递后缀来创建原始文件的备份。要做到这一点,可以说:

代码语言:javascript
复制
sed -i.bak '/dog/i\ Linux Scripting' animals

这将对您的animals文件进行文件中的更改,但如果您需要原始文件,则会创建animals.bak文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23507088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档