问题标签 [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 投票
1 回答
63 浏览

bash - 在带有变量的bash中输入文件开头和结尾的行

我正在创建一个脚本,它将获取一个 csv 文件并制作一个 XML 文件。该脚本还将用户输入的数据也放入 xml 中。我创建了一个脚本来制作我的 XML,但是在文件开头输入我的读入变量时遇到问题。

最终将输入更长的行,其中包含 3 个变量 - 我现在只是在写基础知识。

我的问题是我无法将变量 $BUS 读入 ed 命令。我已经读过这是可能的,但我一直无法让它发挥作用。

我试过我的 EOF 有和没有单引号。

0 投票
1 回答
151 浏览

linux - 如何使用 ed 在命令的输出中追加一行

我正在 Linux 中编写一个 bourne shell 脚本,并且我正在使用 ed 将文本附加到文件的末尾。我必须使用 ed 来完成这项任务。

我需要的附加文本看起来像这样

修改日期:current_date

其中 current_date 是 date 命令的输出

我正在使用的代码是这样的:

很明显,这只会放置字符串“!date”而不是 date 命令的输出。

实现这一目标的最佳方法是什么?

到目前为止,我已经尝试使用命令 '(.,.)s /RE/REPLACEMENT/'、x 和 j 无济于事,而且我在信息中没有看到能够执行此操作的命令ed 的页面。

0 投票
1 回答
148 浏览

bash - 在文件开头插入文本 + stdout、stderr

我有函数“备份”,控制台的这个函数的输出也被重定向到一个文件,它的完成如下:

它可以工作,但是我想将新的输出数据添加到文件的开头,并且对于我的情况来说,明智地使用ed(not sed),并且我按照以下方式进行操作:

在这种情况下,我不知道如何同时实现控制台和文件的输出(就像我的第一种情况一样)。有人可以给我一个实施的提示吗?

0 投票
1 回答
141 浏览

makefile - 为什么此命令在终端中有效,但在 makefile 中无效?

我有一个从命令行成功运行的命令并将其变为:

进入这个:

这是命令:

它在从命令行运行时起作用。但是,当我尝试从 makefile 运行相同的东西时,file它并没有改变,并且我收到以下错误消息:

这是生成文件,包含相同的命令:

我怎样才能让这个命令运行make

0 投票
4 回答
359 浏览

awk - 使用 sed 或 awk 删除文件的倒数第三行

我有几个具有不同行号的文本文件,我必须在所有这些文件中删除倒数第三行。这是一个示例文件:

此文件的预期结果:

我们可以删除文件的倒数第三行吗
:不基于任何字符串/模式。
湾。仅基于它必须是倒数第三行的条件

我对如何从最后一行开始索引我的文件有疑问。我已经从倒数第二行的另一个 SO 问题中尝试了这个:

0 投票
1 回答
48 浏览

diff - 如何在 ed 中使用 diff3

如何diff3搭配使用ed?我在下面的尝试与输出不匹配diff3 --merge,所以我一定做错了什么。

背景:我已经移植了 OpenBSD 的diff3prog.c实用程序以在 BusyBox 中使用,它具有diffed.

0 投票
1 回答
86 浏览

python - 过期后如何自动重新获取Python脚本中的访问令牌?

所以我正在研究仅使用访问令牌从 api 获取数据。我创建了两个 python 脚本,一个用于获取令牌,另一个用于获取数据。我为这两个脚本创建了一个公共变量“令牌”。但是,当令牌在 15 分钟内到期时,我必须手动重新启动脚本。这个问题有解决方案吗?

授权码:

response = requests.request("POST", url, headers=headers, data=payload)

令牌= response.json()['access_token']

获取样本:

注意:我不希望一次超过一个脚本实例。

0 投票
2 回答
46 浏览

bash - Shell 脚本:仅在第一次出现指定模式后才在文件中插入多行。(图案出现多次)

我想使用 shell 脚本在文件中插入多行。让我们考虑一下我的原始文件:original.txt:

和我的插入文件:toinsert.txt

现在,只有在“original.txt”文件中第一次出现“ccc”行之后,我才必须从“toinsert.txt”文件中插入三行。注意:“ccc”模式在我的“original.txt”文件中出现了不止一次。仅在模式第一次出现后插入后,我的文件应更改如下:

我应该使用 shell 脚本进行上述插入。有人能帮我吗?

注2:我发现了一个类似的案例,有部分解决方案:

sed -i -e '/ccc/r toinsert.txt' original.txt

它实际上多次插入(每次出现 ccc 模式时)。

0 投票
1 回答
45 浏览

linux - 使用 ed 行编辑器将行与正则表达式匹配

我正在尝试将ed命令与正则表达式一起使用

参与者.txt

如果我运行ed -s participants.txtin bash shell,则为 ex 键入正则表达式^D.*A$。我有?

我的表情有什么问题。

0 投票
2 回答
61 浏览

linux - 带有 ed by 流命令的 crontab,导致“未进行修改”

我正在尝试在我的 crontab 文件中附加一行。我知道还有其他方法可以解决这个问题,但仍然想知道是什么原因造成的。该命令在树莓派 3 B+ 上运行,安装了 raspbian lite,GNU ed 1.15,cron 3.0pl1-134+deb10u1。

我坚持的命令是:

我希望它#asdf在我的 crontab 文件末尾添加行,但事实并非如此。

按照https://stackoverflow.com/a/30123606/8842387EDITOR='tee -a'上的建议进行设置并不能解决问题。所以我想这是cron的问题。

奇怪的是,当我直接从键盘发出 ed 命令而不是流式传输它时,它就可以工作了。也许子shell创建导致了问题?

在这里,我附上了strace结果中的最后几行。

openat(AT_FDCWD, "crontabs/pi", O_RDONLY) = -1 EACCES (Permission denied)看起来有点可疑,但不确定为什么它以只读方式打开文件。

编辑:正如@tink 所建议的,我跑去EDITOR=ed strace crontab -e看看strace在交互式会话中给出了什么。结果几乎相同(仅在 pid 和 fd 编号上有所不同)。

我注意到运行echo "..." | EDITOR=ed crontab -e退出并显示消息No modification made,但strace进程停止但没有任何消息。(EDITOR=ed strace crontab -e 2>&1 | grep "No mod"什么都不打印)。猜猜 strace 会触发不同的错误。