【发布时间】:2022-01-25 09:46:12
【问题描述】:
我有一个这样的文件:
file1:
a aa
b bb
c cc
file 2:
d dd ddd
e ee eee
我想将file2的内容输出到file1,在我选择的模式所在的行,就像在a之前,在b之后这样:
file 1:
d dd ddd
a aa
b bb
e ee eee
c cc
我只知道如何在tcl中使用puts或在csh中使用>>和echo,但它们只在最后一行输出。
【问题讨论】:
-
为什么不创建第三个文件?读取 F1 和 F2,然后根据需要输入 F3。
-
我想我也可以这样做,但这样做不是更难吗?我不能只添加
d dd ddd,然后添加a aa b bb,然后添加e ee eee,然后:c cc,我认为找到模式并添加行会更快 -
我认为应该更容易。例如。在您的情况下,您如何选择要在 F1 行之间插入 F2 行的位置?使用相同的逻辑,通读这两个文件并创建第三个文件。
-
我正在尝试为我的脚本(文件 1 和许多其他文件)设置一个运行时,它将有许多命令和 proc。所以我试图找到一种方法在我选择的命令/过程之间以及在多个脚本中插入类似
date >>runtime的东西。为此,我需要知道如何在我选择的哪一行插入,这样我就可以在我的脚本中实现以供将来使用 -
查看
ed?例如,printf "%s\n" '/a/-1 r file2' w | ed -s file1会将 file2 的 整个 内容插入到 file1 的第一行之前,其中包含一个 a 并保存更改的文件。