问题标签 [ed]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1886 浏览

unix - 使用 ed 将文本添加到文件中特定行的末尾

我有两个文件,都包含数万行。我目前正在从file_one.txt获取一个字符串( Z1234562)并尝试查看它是否在file_two.txt上。如果在file_two.txt上找到它,我将返回匹配所在的行号——在本例中为第 1235 行。我已经有这个工作了。

但是,我现在想将字符串,Yes附加到第 1235 行。所以在 file_two.txt 我有

在 Glenn Jackman 对另一个问题的回答的帮助下,能够弄清楚如何在文件中的特定行之前之后使用 ed 编辑器添加文本。但是,我无法弄清楚是否可以使用 ed 将文本添加到文件中的行。阅读文档我不确定是否存在。到目前为止,基于这个 AIX站点,这就是我所拥有的:

这会附加要添加的字符串文本。在第 15,022 行之后。我想知道是否有与此附加等效的插入。

我不使用 sed 的原因是因为我在 AIX 系统上,我似乎无法了解这个论坛的工作。但是,我不确定这个论坛中的 sed 命令是否只解决在一行之前或之后添加文本而不是在行尾添加文本,我已经在使用它了。

我的下一个方法是删除我想要追加到的行末尾的返回字符,追加,然后重新添加返回字符,但我不想在用尽我的选择之前重新发明轮子。也许我错过了一些东西,因为我想尽快做到这一点,但任何帮助将不胜感激。我开始不喜欢这些 AIX 系统了。也许 awk 可以帮助我,但我对 awk 不太熟悉。

我使用 Perl 编写了一个小的二进制搜索子例程,以便找到我想要附加到的行。我不确定 sed、ed、grep、awk 等是否使用二进制搜索,但这就是为什么我不使用 ed 或 sed 的模式替换搜索。我希望它尽可能快,所以我对不同的方法持开放态度。

0 投票
2 回答
183 浏览

xml - 如何使用 ed 行编辑器删除两个搜索匹配之间的行

我有一个正在编辑的文本文件(在我的例子中是一个 JMeter XML),我使用 ed 来查找标记 XML 部分的第一行和最后一行的两行。

如何删除两个搜索匹配项之间的行?

示例文件:

我想删除包含的第 2-4 行。

0 投票
1 回答
212 浏览

regex - 如何在 ed 行编辑器中进行不区分大小写的搜索

我正在尝试使用 ed 进行正则表达式搜索。

例如

是否有一个表达式可以匹配单词“prop”的任何大小写变化

道具,道具,道具等?

我发现了以下附加参考

编辑手册

指的是

IEEE Std 1003.1-2001 的基本定义卷,第 9.3 节,基本正则表达式

GNU 基本正则表达式(grep、ed、sed)

0 投票
1 回答
66 浏览

ed - 在 Ed 中选择非连续线

如果3,5p打印第 3、4 和 5 行,如何打印第 4 和 7 行,而不是第 5 和 6 行?

试过:

3 5 p打印第 8 行

3p5p休息也

0 投票
1 回答
31 浏览

edit - ed中删除句子的最快方法

文本中的一个句子是指一个可能跨越几行的字符串;它的开头是一行的开头,或一个句点 (.) 后跟一个空格,并以句点结尾,后跟至少一个空格或换行符。

ed中删除可能跨越几行的句子的好方法是什么?

0 投票
1 回答
135 浏览

regex - ed(编辑器)中的非贪婪正则表达式匹配

我正在查看我用 ed 打开并显示为的文件的一行.p

First sentence. Another. One. Text continues

现在我想First sentence.replacement.但是替换字符串,命令

.s/.*\./replacement./

以贪婪的方式运行,也就是说,它替换First sentence. Another. One.replacement,而不是First sentence.如所希望的那样。

如何在 ed 中进行非贪婪替换?

0 投票
3 回答
70 浏览

python - 以编程方式交换两个文本块

我有一个由多个非常相似的块组成的 XML 文件。这里有两个:

<Grid>通常我在一个文件中有数百个类似的对象。现在,我想以编程方式交换每个对象中的<DataItem Name="r"><DataItem Name="z">块的位置,以使s 的顺序为 z、theta、r。此外,对于每个语句,每个包含三个值的属性,我希望将属性重写为.<Grid><DataItem>Dimensions=" x y z "DimensionsDimensions=" z y x "

我真的不介意用于执行此操作的编程语言。我在一个带有 bash、python、perl 的 Linux 工作站上......所有标准的东西。

编辑:此答案用于sed匹配文本块,但我不确定之后如何操作选定的块。这个其他答案上下交换单行,但我不确定如何概括为文本块,并使其交换块。

0 投票
1 回答
146 浏览

regex - Linux ed Editor 在一行中进行多个搜索/替换

我想在以下文件中使用 Linux 中的 ed 编辑器在一行中进行多次替换:

我想在/dev/ ... 中将所有“c0”“c1”交换。

这是我放入 ed: 的正则表达式1,\$s/\(\/dev.*\)\(c0\)\(d0s.*\)/\1c1\3/g,结果

但是,这个长正则表达式:
1,\$s/\(\/dev.*\)\(c0\)\(d0s.*\)\(\/dev.*\)\(c0\)\(d0s.*\)/\1c1\3\4c1\6/g导致:

将第一个“c0”保留为“c0”,因为搜索字符串未找到它


所以我得到了一个文件,其中一行中有多个搜索结果,但它只替换了一个实例。我知道“全局”标志在文件的第一步运行并标记匹配。我希望我知道是什么导致了这个问题,但我没有足够的经验知道如何解决它。
为你的帮助干杯

0 投票
3 回答
1063 浏览

regex - 在 ed 中的一行中间插入一个换行符(编辑器)

假设我在 ed 中打开了一个文本文件,当前行如下所示:

This is sentence one. Here starts another one.

现在我想在 之后添加一个换行符 one. ,这样以开头的新句子Here starts占据下一行。

我如何在 ed 中做到这一点?

0 投票
1 回答
362 浏览

bash - 使用 here-strings 追加或写入文件

如何仅使用 ed 写入文件或将字符串附加到文件?

我了解其他编辑器,但这种用 ed 编写 bash 脚本的特殊形式让我很困惑:

上一行不起作用,虽然我已经阅读了一些 ed 手册页,但我仍然对该here-strings方法感到困惑。我对这种here-document方法不感兴趣。

我已尝试ed H myFile <<< $'a\nMy line here\n.\nwq'使用该H选项,但出现错误

我已经在我的目录中创建了一个名为myFile并执行的文件sudo chmod a+wx myFile