问题标签 [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.
bash - 在带有变量的bash中输入文件开头和结尾的行
我正在创建一个脚本,它将获取一个 csv 文件并制作一个 XML 文件。该脚本还将用户输入的数据也放入 xml 中。我创建了一个脚本来制作我的 XML,但是在文件开头输入我的读入变量时遇到问题。
最终将输入更长的行,其中包含 3 个变量 - 我现在只是在写基础知识。
我的问题是我无法将变量 $BUS 读入 ed 命令。我已经读过这是可能的,但我一直无法让它发挥作用。
我试过我的 EOF 有和没有单引号。
linux - 如何使用 ed 在命令的输出中追加一行
我正在 Linux 中编写一个 bourne shell 脚本,并且我正在使用 ed 将文本附加到文件的末尾。我必须使用 ed 来完成这项任务。
我需要的附加文本看起来像这样
修改日期:current_date
其中 current_date 是 date 命令的输出
我正在使用的代码是这样的:
很明显,这只会放置字符串“!date”而不是 date 命令的输出。
实现这一目标的最佳方法是什么?
到目前为止,我已经尝试使用命令 '(.,.)s /RE/REPLACEMENT/'、x 和 j 无济于事,而且我在信息中没有看到能够执行此操作的命令ed 的页面。
bash - 在文件开头插入文本 + stdout、stderr
我有函数“备份”,控制台的这个函数的输出也被重定向到一个文件,它的完成如下:
它可以工作,但是我想将新的输出数据添加到文件的开头,并且对于我的情况来说,明智地使用ed
(not sed
),并且我按照以下方式进行操作:
在这种情况下,我不知道如何同时实现控制台和文件的输出(就像我的第一种情况一样)。有人可以给我一个实施的提示吗?
makefile - 为什么此命令在终端中有效,但在 makefile 中无效?
我有一个从命令行成功运行的命令并将其变为:
进入这个:
这是命令:
它在从命令行运行时起作用。但是,当我尝试从 makefile 运行相同的东西时,file
它并没有改变,并且我收到以下错误消息:
这是生成文件,包含相同的命令:
我怎样才能让这个命令运行make
?
awk - 使用 sed 或 awk 删除文件的倒数第三行
我有几个具有不同行号的文本文件,我必须在所有这些文件中删除倒数第三行。这是一个示例文件:
此文件的预期结果:
我们可以删除文件的倒数第三行吗
:不基于任何字符串/模式。
湾。仅基于它必须是倒数第三行的条件
我对如何从最后一行开始索引我的文件有疑问。我已经从倒数第二行的另一个 SO 问题中尝试了这个:
diff - 如何在 ed 中使用 diff3
如何diff3
搭配使用ed
?我在下面的尝试与输出不匹配diff3 --merge
,所以我一定做错了什么。
背景:我已经移植了 OpenBSD 的diff3prog.c实用程序以在 BusyBox 中使用,它具有diff
和ed
.
python - 过期后如何自动重新获取Python脚本中的访问令牌?
所以我正在研究仅使用访问令牌从 api 获取数据。我创建了两个 python 脚本,一个用于获取令牌,另一个用于获取数据。我为这两个脚本创建了一个公共变量“令牌”。但是,当令牌在 15 分钟内到期时,我必须手动重新启动脚本。这个问题有解决方案吗?
授权码:
response = requests.request("POST", url, headers=headers, data=payload)
令牌= response.json()['access_token']
获取样本:
注意:我不希望一次超过一个脚本实例。
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 模式时)。
linux - 使用 ed 行编辑器将行与正则表达式匹配
我正在尝试将ed
命令与正则表达式一起使用
参与者.txt
如果我运行ed -s participants.txt
in bash shell,则为 ex 键入正则表达式^D.*A$
。我有?
我的表情有什么问题。
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 会触发不同的错误。