问题标签 [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 回答
37 浏览

linux - 每行替换特定位置的字符

我们有一个练习,我们必须对以下文本文档做某些事情:

都是用“|”分隔的数据。对于这个练习,如果第一次上升的年份是空的,我需要替换“||” 与“|未攀登|”

我不能这样做:

因为那将替换其他空字段。所以我的问题是,我如何只替换该特定字段?

0 投票
1 回答
53 浏览

bash - ed HERELINE 替代模式失败

假设您要对包含模式的所有文件进行编辑。例如,将所有“2017”更改为“2018”。有许多关于 perl、sed 和其他各种建议的建议。ed 编辑器要简单得多,如果它可以工作的话。

给定一个文件:

为什么这不起作用

当这样做时

最后,它将在这样的循环中使用

0 投票
1 回答
51 浏览

bash - 反转“ed”命令以恢复到以前的文件版本

我正在使用 bash 脚本在 Unix 中进行版本控制项目。如何从当前版本移动到以前的版本,而无需从头开始构建新文件到所需版本。有没有办法反转 ed 脚本以向后移动?

我有一个文件和一个包含所有版本文件的文件夹(在 ed 脚本中)。包含 ed 脚本的版本文件是使用命令创建的,

$path--> 保存路径的$fileCount变量,--> 保存文件版本号的变量,.temporaryFile--> 构建为最新可用版本的临时文件。

我能够使用从头开始构建临时文件到最新版本,

$i--> 在 for 循环中迭代

0 投票
3 回答
138 浏览

text - 使用 gawk 将文本模式替换为文件名在文本内的文件的内容

我正在尝试根据特定标准替换文本文件中的文本。

例如,如果我有三个文本文件,其中 outer.txt 包含:

和 inner1.txt 包含:

和 inner2.txt 包含:

在替换结束时,outer.txt 文件如下所示:

总体模式是,对于单词“INCLUDE”的每个实例,将整行替换为文件名紧跟“INCLUDE”实例之后的文件的内容,在一种情况下是 inner1.txt,在第二种情况下案例将是 inner2.txt。

更简单地说,gawk 是否有可能根据外部文本文件中要替换的内容来确定将哪个文本文件嵌入到外部文本文件中?

0 投票
4 回答
218 浏览

awk - 如何使用 POSIX shell 脚本删除文件的特​​定行?

我想删除,比如文件的第三行a。如何使用类似 POSIX 规范的工具sedawk以与 POSIX 规范兼容的方式来做到这一点?我知道我可以做到sed -i '3d' a,但-iPOSIX 没有为sed.

当然,我可以在sed没有标志的情况下运行相同的命令-i,保存到一个临时文件,然后用新文件替换原始文件;但我更喜欢单线。

0 投票
2 回答
104 浏览

pipe - 如何将 xargs 与 ed 一起使用?

我想在一个文件夹中递归地批量替换字符串,我已经使用 Perl 解决了。我想看看是否有一个解决方案需要更少的依赖和跨平台工作。

对于列出文件,我可以使用从lstofindag,的任何东西rg。Lemme 用ls.

ls | xargs -I '{}' ed -s {} <<< $'='

我会得到这个:

Is a directory newline appended =: No such file or directory

由于管道用于将文件名传递给xargs,并且流(此处为字符串)似乎无法正常工作(如何将 heredocs 与 xargs 一起使用?)。我想知道是否可以使用xargswith ed

我关心的是跨平台,实际上该命令将放在package.json. 我们想知道除了引入和仅针对此任务npm run global_replace之外是否还有其他解决方案。gulp-replacegulp

0 投票
2 回答
89 浏览

linux - 如何使用 ed 在最后一次模式匹配后添加文本

这就是我在第一个模式之前添加文本的方式,我想在最后一个模式之后添加

文件

预期产出

0 投票
1 回答
32 浏览

linux - ed 模式 - 行中的第一个字符未知

这就是我在第一个模式显示之前添加文本的方式:

但如果该行以“香蕉”之前的某些字符开头,则它不起作用。主要是白人,但我想听听所有角色的答案。谢谢!

0 投票
1 回答
46 浏览

shell - 循环通过文件外壳脚本时 ed 不起作用

我正在遍历 urls.txt 以逐一阅读这些行,以用新的 url 替换旧的 url。此命令 (echo -e '%s/'"$new_url"'/'"$old_url"'/g\nw' |ed ca-sample.conf) 在命令行中运行良好(我已设置 new_url 和 old_url作为环境变量 "export new_url="New" 和 "export old_url="Old") 但是当我把这个命令放在 While 循环中时它不起作用。

0 投票
1 回答
96 浏览

django - 聊天应用程序中的 Django Filters with Rest Framework Authentication 消息过滤策略/问题

我有一个 Django DRF 后端,实现了令牌用户身份验证。应用程序本身是一个聊天,由公共大厅和私人线程(特定用户之间的线程)组成。目前,我的模型文件包括与 Lobby 和 Thread 模型具有外键关系的 Message 模型,并将这些字段之一保留为 Null,以确定特定消息是否涉及私有 Thread 或公共 Lobby。

到目前为止,我一直专注于开发公共大厅,用户根据他当前所在的大厅查询消息。

在我完成 Lobbies 的开发并启用身份验证后,前端停止按 Lobby 标题过滤消息,只是简单地将所有与当前经过身份验证的用户相关的消息返回给我——显然忽略了与消息相关的 Lobbies 之间的任何区别。在检查了实际的 API 之后,我发现当我启用身份验证时,过滤选项完全从页面中消失了。

编辑:我用一些代码更新了帖子
我宁愿保留一个消息模型,而不是为大厅和线程创建单独的消息模型。

这是我的模型:

这是序列化程序:

最后是意见:

在我的 settings.py 中,我全局启用了身份验证: