问题标签 [sed]

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 投票
9 回答
104740 浏览

linux - 命令行:在 grep 匹配的所有文件名中搜索和替换

我正在尝试在 grep 匹配的所有文件中搜索和替换字符串:

grep -n 'foo' *将以以下形式给我输出:

对于 grep 返回的每个文件,我想通过替换为来修改foo文件bar

0 投票
7 回答
896 浏览

regex - 如何正确匹配正则表达式?

我有一个ldapsearch如下输出的对象列表:


到目前为止,我有以下正则表达式:

它返回如下结果:


我需要一个返回如下结果的正则表达式:

我需要在我的正则表达式中更改什么以便模式(cn=和逗号)不包含在结果中?

编辑:我将用于进行sed模式匹配,并将输出通过管道传输到其他命令行实用程序。

0 投票
8 回答
150259 浏览

linux - 如何在 shell 脚本中向文件中添加一行?

我想在现有的 CSV 文件中添加一行标题,并就地编辑。我怎样才能做到这一点?

我想结束

我无法更改初始 CSV 输出。

任何标准命令都可以。重要的是文件被编辑到位,并且在文件的开头插入了行。

0 投票
6 回答
3608 浏览

sed - 文件中的 DOS 到 UNIX 路径替换

我有一个包含这种路径的文件:

我想得到以下文件:

请注意,不应修改不匹配的路径。

我知道如何使用 sed 为固定数量的子目录执行此操作,但是可变数量给我带来了麻烦。实际上,我将不得不使用许多s/x/y/表达式(与最大深度一样多......不是很优雅)。

可能是用awk,但这种魔法超出了我的技能。

仅供参考,我需要这个技巧来纠正 cygwin 平台上的一些 gcov 二进制文件。


我正在处理二进制文件;因此,我可能有以下类型的数据:

应该翻译为:

第一个\不能翻译,尽管它在同一行。

但是,我刚刚.gcno在编辑此文本时检查了我的文件,看起来所有路径的两侧都带有零,因此下面的大多数答案都应该适合。

0 投票
5 回答
884 浏览

bash - 在 Shell 中搜索和替换

我正在编写一个 shell (bash) 脚本,并试图找出一种简单的方法来完成一项简单的任务。

我在变量中有一些字符串。我不知道这是否相关,但它可以包含空格、换行符,因为实际上这个字符串是整个文本文件的内容。

我想用其他东西替换某个子字符串的最后一次出现。也许我可以为此使用正则表达式,但有两个时刻让我感到困惑:

  • 我需要从头开始匹配,而不是从头开始
  • 我要扫描的子字符串是固定的,而不是可变的。
0 投票
6 回答
182430 浏览

shell - 使用 sed,如何打印一行的前 'N' 个字符?

使用sed什么是单行来打印前n 个字符?我正在执行以下操作:

0 投票
5 回答
8611 浏览

perl - 如何仅更改文件的第一行?

我想知道我可以在 sed 中使用哪种模式来更改大文件的第一行(~2 GB)。偏爱 sed 只是因为我认为它必须比 Python 或 Perl 脚本快。

这些文件具有以下结构:

并且,考虑到每个字段的标识符中都有空格的可能性,我需要以这种方式用下划线替换每个空格:

任何指向要使用的正确模式或其他脚本解决方案的指针都会很棒。

0 投票
3 回答
2048 浏览

html - 用 sed 格式化 html

如何使用 sed 在每个与表相关的标记之前在 html 文件中插入换行符?

0 投票
4 回答
4293 浏览

unix - sed 阻塞了吗?

我的印象 sed 没有阻塞,因为当我说:

sed在数据到达时处理数据,但是当我这样做时

然后sednetcat

我对吗?

0 投票
11 回答
323989 浏览

linux - sed 中的环境变量替换

如果我从脚本运行这些命令:

没事。

但是,如果我运行:

我在教程中读到,要从 shell 替换环境变量,您需要停止,并“引用”该$varname部分,以便它不会被直接替换,这就是我所做的,并且只有在变量之前立即定义时才有效。

如何让 sed 将 a 识别$var为环境变量,因为它在 shell 中定义?