我想使用shell脚本在文件中插入多行.

abcd
accd
cdef
line
web

现在我必须在input.txt文件中的"cdef"行之后插入四行.

abcd
accd
cdef
line1
line2
line3
line4
line
web

上面的插入我应该使用shell脚本来完成.有人能帮我吗?

推荐答案

还有sed个,

sed '/cdef/r add.txt' input.txt

输入txt:

abcd
accd
cdef
line
web

添加txt:

line1
line2
line3
line4

Test:

sat:~# sed '/cdef/r add.txt' input.txt
abcd
accd
cdef
line1
line2
line3
line4
line
web

如果要在input.txt文件中应用更改.然后,使用-ised.

sed -i '/cdef/r add.txt' input.txt

如果你想使用正则表达式,你必须使用-E标记和sed.

sed -E '/RegexPattern/r add.txt' input.txt

Linux相关问答推荐

AWK打印到文件正在追加,而不是覆盖

条件句if的正确写法是怎样的?

Bash shell 脚本未通过 TRUE 条件

Linux TTY 操作顺序

Linux内核模块构建过程中,许可信息添加了前缀

CMake:处理静态库和共享库的正确方法

如何从核心转储中获取线程名称?

在 bash 中获取目录或文件的基本名称的快速且正确的方法

在三星 chromebook 上编程

如何在 linux 上为 JNI 应用程序编译动态库?

如何在 Linux 中使用命令行将 PDF 转换为 JPG?

何时判断 EINTR 并重复函数调用?

如何分析内存使用情况?

zsh/bash 上不区分大小写的 Glob

try 使用 sudo 将文件附加到根拥有的文件时权限被拒绝

将 jiffies 转换为毫秒

在 Ubuntu 中学习 OpenGL

在不运行测试的情况下制作(从源代码安装)python

在类 Unix 系统中上次运行的 cron 作业(job)的详细信息?

linux脚本杀死java进程