相关疑难解决方法(0)

指定要处理为 Perl 单行的文件

我得到了一个 Perl one-liner。它具有以下形式:

perl -pe'...'
Run Code Online (Sandbox Code Playgroud)

如何指定要处理的文件到程序?

perl

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

如何找到连续的空白行并将它们转换为一行

我有一个文件 - 一个,并且存在一些继续空行(多个),见下文:

cat a
1

2


3



4

5
Run Code Online (Sandbox Code Playgroud)

所以首先我想知道是否存在继续空行,我试过了

cat a | grep '\n\n\n'
Run Code Online (Sandbox Code Playgroud)

没什么输出.所以我必须使用以下方式

vi a 
:set list
/\n\n\n
Run Code Online (Sandbox Code Playgroud)

所以我想知道是否存在其他shell命令可以轻松实现这个?然后,如果存在两个或更多的空行我想将它们转换为一个?见下文

1

2

3

4

5
Run Code Online (Sandbox Code Playgroud)

起初我试过下面的shell

sed 's/\n\n\(\n\)*/\n\n/g' a
Run Code Online (Sandbox Code Playgroud)

它不起作用,然后我尝试了这个shell

cat a | tr '\n' '$' | sed 's/$$\(\$\)*/$$/g' | tr '$' '\n'
Run Code Online (Sandbox Code Playgroud)

这次它有效.而且我想知道是否存在其他方式可以实现这一点?

shell awk

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

标签 统计

awk ×1

perl ×1

shell ×1