当前位置: 首页 > 面试题库 >

使用Shell脚本在指定模式后将多行插入文件

笪欣嘉
2023-03-14
问题内容

我想使用shell脚本在文件中插入多行。让我们考虑一下我的输入文件内容是: input.txt:

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

input.txt:

abcd
accd
cdef
line
web

add.txt:

line1
line2
line3
line4

测试:

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

如果要应用input.txt文件中的更改。然后,-i与一起使用sed

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

如果要将正则表达式用作表达式,则必须将-E标记与一起使用sed

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


 类似资料:
  • 问题内容: 我需要执行一个shell脚本。难得的是我想这样做 我不希望它等待命令完成,我希望它在后台进程中运行。我不想要另一个php线程,因为它将超时,该命令最多可能需要3个小时才能完成。 问题答案: 您需要重定向命令的输出。 如果使用此功能启动程序,则要使其在后台继续运行,必须将程序的输出重定向到文件或其他输出流。否则,PHP会挂起,直到程序执行结束。 http://php.net/manual

  • 问题内容: 我正在尝试从文本文件中获取特定行。 到目前为止,在网上我只看到过sed之类的东西(我只能使用sh-不能使用bash或sed或类似的东西)。我只需要使用基本的shell脚本来执行此操作。 我知道如何遍历行,如上所示,但是如果我只需要获取特定行的内容怎么办? 问题答案: sed: awk:

  • 问题内容: 我需要使用执行一组Cassandra DB命令的nodeJS运行Shell脚本文件。有人可以帮我吗? db.sh文件内部: 问题答案: 您可以使用shelljs模块执行任何shell命令

  • 问题内容: 我正在尝试将一个大型xml文件拆分为多个文件,并在AWK脚本中使用了以下代码。 上面的代码生成一个名称为“ fileItem_1”,“ fileItem_2”,“ fileItem3”等的xml文件列表。 但是,我希望文件名类似于“ item_XXXXX”,其中XXXXX是XML内的一个节点-如下图所示 因此,基本上我希望“ id”节点为文件名。谁能帮我这个忙吗? 问题答案: 我不会用

  • 问题内容: 我正在尝试创建用于设置Docker容器的Shell脚本。我的脚本文件如下所示: 运行此脚本文件将在新调用的bash中运行容器。 现在,我需要运行一个脚本文件(test.sh),该文件已经位于上述给定的shell脚本的容器内(例如:cd /path/to/test.sh && ./test.sh),该怎么做? 问题答案: 您可以使用以下命令在正在运行的容器中运行命令: 并从bash会话运

  • 问题内容: 我想以特定的模式匹配插入文件内容。以下是一个示例:在和之间添加内容。 我尝试了以下操作,但没有成功。 问题答案: 尝试以下命令: 它产生: 编辑 以解释命令为何无法按需运行:该命令在当前循环的末尾或读取下一个输入行时添加其内容。而且您正在使用的命令不会打印任何内容,但会读取下一行,因此在那时打印,然后再打印正常的行。 在我的情况下,它以读取行,然后结束循环,因此打印行及其后的文件内容并