相关疑难解决方法(0)

使用 N 时对 sed 输出感到困惑。有人可以解释这些结果吗?

我正在学习sed。一切似乎都很顺利,直到我遇到 N(接下来是多行)。我创建了这个文件 (guide.txt) 用于练习/理解/上下文目的。这是所述文件的内容...

This guide is meant to walk you through a day as a Network
Administrator. By the end, hopefully you will be better
equipped to perform your duties as a Network Administrator
and maybe even enjoy being a Network Administrator that much more.
Network Administrator
Network Administrator
I'm a Network Administrator
Run Code Online (Sandbox Code Playgroud)

所以我的目标是用“系统用户”替换“网络管理员”的所有实例。因为“网络管理员”的第一个实例由换行符 (\n) 分隔,我需要多行下一个运算符 (N) 来附加以“管理员”开头的行,前一行以“网络\n”结尾. 没问题。但我也想捕获所有其他“网络管理员”单行实例。

从我的研究中,我了解到我需要两个替换命令;一个用于换行符分隔的字符串,另一个用于其他字符串。此外,由于最后一行包含替换匹配和多行,因此发生了一些 jive。所以我制作这个...

$ sed '
> s/Network Administrator/System User/
> N
> s/Network\nAdministrator/System\nUser/
> ' guide.txt
Run Code Online (Sandbox Code Playgroud)

这将返回这些结果...

This guide is …
Run Code Online (Sandbox Code Playgroud)

sed

8
推荐指数
2
解决办法
820
查看次数

sed 命令`n` 和`b` 之间有什么区别?

除了明显的语法点b可以接受标签而不能接受标签n,并且要在b没有标签的情况下使用,您需要将其放置在传递的参数的末尾-e(至少对于单行程序)...ab没有label 和 ann似乎做同样的事情。

这真的是真的,还是有我没有注意到的细微差别?他们在什么条件下做同样的事情,在什么条件下他们不做?

sed

5
推荐指数
2
解决办法
2679
查看次数

如何使用sed从另一个文件中删除一个文件中的相同行?

我有两个文件,一个是另一个的超集。我想从较大的文件中删除较小文件中的相同行。

一种可能的复杂情况是这些行包含反斜杠。

我该怎么做呢?

sed text-processing

4
推荐指数
1
解决办法
899
查看次数

如何在文件开头添加行/文本

我们有以下示例文件:

tcpmux          1/tcp                           # TCP port service multiplexer
tcpmux          1/udp                           # TCP port service multiplexer
rje             5/tcp                           # Remote Job Entry
rje             5/udp                           # Remote Job Entry
echo            7/tcp
echo            7/udp
discard         9/tcp           sink null
discard         9/udp           sink null
systat          11/tcp          users
systat          11/udp          users
daytime         13/tcp
daytime         13/udp
qotd            17/tcp          quote
qotd            17/udp          quote
msp             18/tcp                          # Message send protocol (historic)
msp             18/udp                          # Message send protocol (historic)
chargen         19/tcp          ttytst source
chargen         19/udp          ttytst source
Run Code Online (Sandbox Code Playgroud)

我们如何将以下几行附加到文件的开头?

# The …
Run Code Online (Sandbox Code Playgroud)

sed awk perl text-processing

4
推荐指数
2
解决办法
5878
查看次数

AWK:如何从 CSV 中删除重复的标题行?

处理由几个 CSV 的串联产生的 csv,我正在寻找删除标题行重复的可能性(存在于每个串联的 CSV 中,它们之间是相同的)。这是我的 CSV 包含重复的第一行:

ID(Prot),   ID(lig),    ID(cluster),    dG(rescored),   dG(before), POP(before)
1000,   lig40,  1,  0.805136,   -5.5200,    79
1000,   lig868, 1,  0.933209,   -5.6100,    42
1000,   lig278, 1,  0.933689,   -5.7600,    40
1000,   lig619, 3,  0.946354,   -7.6100,    20
1000,   lig211, 1,  0.960048,   -5.2800,    39
1000,   lig40,  2,  0.971051,   -4.9900,    40
1000,   lig868, 3,  0.986384,   -5.5000,    29
1000,   lig12,  3,  0.988506,   -6.7100,    16
1000,   lig800, 16, 0.995574,   -4.5300,    40
1000,   lig800, 1,  0.999935,   -5.7900,    22
1000,   lig619, 1,  1.00876,    -7.9000,    3 …
Run Code Online (Sandbox Code Playgroud)

awk

3
推荐指数
5
解决办法
761
查看次数

标签 统计

sed ×4

awk ×2

text-processing ×2

perl ×1