小编dev*_*com的帖子

我如何在 Ed 中用一个空行替换两个或多个空行?

在 Ed 中,我可以进行搜索以替换所有空行,如下所示:

g/^$/d
Run Code Online (Sandbox Code Playgroud)

这将删除所有空行。但是如果我想删除两个或更多空行并保留 1 怎么办?例如:

Line 1


Line 2



Line 3
Run Code Online (Sandbox Code Playgroud)

变成:

Line 1

Line 2

Line 3
Run Code Online (Sandbox Code Playgroud)

regular-expression ed

9
推荐指数
1
解决办法
351
查看次数

替换 sed 命令中的奇怪字符

我想创建一个sed命令来从给定文档中删除所有这些奇怪的字符:

\n
sed -n 's/\\|\xc2\xaeMD-IT\xc2\xaf\\|\xc2\xaeMD\\+BO\xc2\xaf\\|\xc2\xaeMDNM\xc2\xaf\xc2\xaeLL\\.8LI,0LI\xc2\xaf\\|\xc2\xaeLL0LI,0LI\xc2\xaf\\|\xc2\xaeMD\\+IT\xc2\xaf\\|\xc2\xaeLL.8LI,0LI\xc2\xaf\xc2\xaeMDIT\xc2\xaf\\|\xc2\xaeMDNM\xc2\xaf\xc2\xaeFL\xc2\xaf\xc2\xaeLL.8LI,0LI\xc2\xaf\\|\xc2\xaeFL\xc2\xaf\xc2\xaeMD-BO\xc2\xaf\\|\xc2\xaeFL\xc2\xaf\xc2\xaeMD-BO\xc2\xaf\\|\xc2\xaeMD-BO\xc2\xaf\\|\xc2\xaf\xc2\xaeOF1IN,1IN\xc2\xaf\xc2\xaeFC\xc2\xaf\xc2\xaeLL1LI,0LI\xc2\xaf\\|\\|\xc2\xaeSF1,1\xc2\xaf\\|\xc2\xaeFM1FT=0LI,LR=1;\\|\xc2\xaeMDSU\xc2\xaf\xc2\xaeFN1\xc2\xaf\\|\xc2\xaeMDNM\xc2\xaf\xc2\xaf\\|\xc2\xaeIV-RTF\\|\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\|\xc2\xaf\xc2\xaeBF0\xc2\xaf\\|\xc2\xaeFS1\\|-------------------------------------\\|\xc2\xaf\xc2\xaeFW1\\|\\|//gp'\n
Run Code Online (Sandbox Code Playgroud)\n

这些代码都是在另一个应用程序中创建的Nota Bene,我有许多包含此类代码的文件,我想将它们转换为纯文本,甚至可能是 Markdown。

\n

问题是字符没有被替换。我尝试过这样做,Sublime Text并成功使用查找替换(正则表达式)剥离文档。sed对我来说,创建一个脚本比用于Sublime此任务更好。

\n

我也尝试过使用Ed,但它也没有找到替代品。

\n

这是在 Sublime Text 中打开时的示例 nb 文件:

\n
\xc2\xaeSSDEFAULTS\xc2\xaf\xc2\xaeLR1\xc2\xaf\xc2\xaeJU\xc2\xaf\xc2\xaeMD+BO\xc2\xaf\xc2\xaeUFTimes New Roman\xc2\xaf\xc2\xaeSZ12Pt\xc2\xafGlossary\xc2\xaeMD+BO\xc2\xaf\xc2\xaeTS.5IN,1IN,1.5IN,2IN,2.5IN,3IN,3.5IN,4IN,4.5IN,5IN,5.5IN,6IN\xc2\xaf    \xc2\xaeMD-BO\xc2\xaf\n\xc2\xaeNJ\xc2\xaf\xc2\xaeLR1\xc2\xaf\xc2\xaeLL.5LI,0LI\xc2\xaf\xc2\xaeMD+BO\xc2\xaf\xc2\xaeLL0LI,0LI\xc2\xaf\xc2\xaeMDNM\xc2\xaf\xc2\xaeLR1\xc2\xaf\xc2\xaeLL.5LI,0LI\xc2\xafA fortiori proposition: If X is true, then how much greater is Y true? To move logically from a stronger argument to establish a weaker argument. The weaker argument is sometimes presented by the speaker as the stronger argument.\n\xc2\xaeLL0LI,0LI\xc2\xaf\xc2\xaeLR1\xc2\xaf\xc2\xaeLL.5LI,0LI\xc2\xaf\xc2\xaeLL0LI,0LI\xc2\xaf\xc2\xaeLR1\xc2\xaf\xc2\xaeLL.5LI,0LI\xc2\xafAccusative of motion/direction - Indicates …
Run Code Online (Sandbox Code Playgroud)

sed ed

3
推荐指数
1
解决办法
871
查看次数

ed 不使用 ASCII 文本、CRLF、LF 行终止符连接行

我目前在 Windows 上的 Debian WSL 中运行 Gnu ed 版本 1.18。如果我使用以下编码编辑文件:

ASCII text, with CRLF, LF line terminators
Run Code Online (Sandbox Code Playgroud)

或者

ASCII text, with CRLF,
Run Code Online (Sandbox Code Playgroud)

那么 ed 无法正确地将行与j command. 相反,它删除了要连接的第一行。

如果文件是在 ed 中创建的,则不会出现此问题,但它会影响在其他程序中创建并随后在 ed 中编辑的文件。GNU ed 1.17 中也发现了同样的问题。

这是一个错误吗?如何规避这一问题?

ascii ed

2
推荐指数
1
解决办法
482
查看次数

ed 中是否有重复上一条命令的命令?

是否有一个命令ed重复上一个命令?我知道可以重复最后一次搜索(使用//),但是重复和/或编辑最后一个命令而无需重新输入的命令会很有帮助。

ed

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

标签 统计

ed ×4

ascii ×1

regular-expression ×1

sed ×1