问题标签 [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.
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 的模式替换搜索。我希望它尽可能快,所以我对不同的方法持开放态度。
xml - 如何使用 ed 行编辑器删除两个搜索匹配之间的行
我有一个正在编辑的文本文件(在我的例子中是一个 JMeter XML),我使用 ed 来查找标记 XML 部分的第一行和最后一行的两行。
如何删除两个搜索匹配项之间的行?
示例文件:
我想删除包含的第 2-4 行。
regex - 如何在 ed 行编辑器中进行不区分大小写的搜索
我正在尝试使用 ed 进行正则表达式搜索。
例如
是否有一个表达式可以匹配单词“prop”的任何大小写变化
道具,道具,道具等?
我发现了以下附加参考
指的是
ed - 在 Ed 中选择非连续线
如果3,5p
打印第 3、4 和 5 行,如何打印第 4 和 7 行,而不是第 5 和 6 行?
试过:
3 5 p
打印第 8 行
3p5p
休息也
edit - ed中删除句子的最快方法
文本中的一个句子是指一个可能跨越几行的字符串;它的开头是一行的开头,或一个句点 (.) 后跟一个空格,并以句点结尾,后跟至少一个空格或换行符。
ed中删除可能跨越几行的句子的好方法是什么?
regex - ed(编辑器)中的非贪婪正则表达式匹配
我正在查看我用 ed 打开并显示为的文件的一行.p
:
First sentence. Another. One. Text continues
现在我想First sentence.
用replacement.
但是替换字符串,命令
.s/.*\./replacement./
以贪婪的方式运行,也就是说,它替换First sentence. Another. One.
为replacement
,而不是First sentence.
如所希望的那样。
如何在 ed 中进行非贪婪替换?
python - 以编程方式交换两个文本块
我有一个由多个非常相似的块组成的 XML 文件。这里有两个:
<Grid>
通常我在一个文件中有数百个类似的对象。现在,我想以编程方式交换每个对象中的<DataItem Name="r">
和<DataItem Name="z">
块的位置,以使s 的顺序为 z、theta、r。此外,对于每个语句,每个包含三个值的属性,我希望将属性重写为.<Grid>
<DataItem>
Dimensions=" x y z "
Dimensions
Dimensions=" z y x "
我真的不介意用于执行此操作的编程语言。我在一个带有 bash、python、perl 的 Linux 工作站上......所有标准的东西。
编辑:此答案用于sed
匹配文本块,但我不确定之后如何操作选定的块。这个其他答案上下交换单行,但我不确定如何概括为文本块,并使其交换块。
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”,因为搜索字符串未找到它
所以我得到了一个文件,其中一行中有多个搜索结果,但它只替换了一个实例。我知道“全局”标志在文件的第一步运行并标记匹配行。我希望我知道是什么导致了这个问题,但我没有足够的经验知道如何解决它。
为你的帮助干杯
regex - 在 ed 中的一行中间插入一个换行符(编辑器)
假设我在 ed 中打开了一个文本文件,当前行如下所示:
This is sentence one. Here starts another one.
现在我想在 之后添加一个换行符 one.
,这样以开头的新句子Here starts
占据下一行。
我如何在 ed 中做到这一点?
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
。