小编And*_*rej的帖子

计算具有约束的重复行

我有以下文件:

A B 1990
A C 2001
A C 2013
A B 2001
B C 2013
A D 2001
A D 2014
Run Code Online (Sandbox Code Playgroud)

我需要计算重复对(在第一列和第二列中),并为每个这样的对分配第三列中的最低值。对于我的玩具文件,输出应该是:

A B 2 1990
A C 2 2001
A D 2 2001
B C 1 2013
Run Code Online (Sandbox Code Playgroud)

例如,pairA B出现两次,第一次为 1990,第二次为 2001,因为 1990 < 2001 我们将 1990 分配给这个计数。

我想知道如何使用 Linux 工具(Bash、AWK、Perl)来做到这一点。任何想法/指针将不胜感激。

bash awk perl

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

使用 Perl 脚本进行进程替换

我有一个需要以下参数的 Perl脚本

count.pl OUTPUT_FILE INPUT_FILE
Run Code Online (Sandbox Code Playgroud)

我想要做的是使用进程替换而不是显式指定 INPUT_FILE,例如:

count.pl count.txt <(cat test.txt)
Run Code Online (Sandbox Code Playgroud)

但是,脚本似乎没有收到来自进程替换的任何输入。

我做错了什么?

bash perl process-substitution

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

删除文件中指定的特定行号的行

我有一个文本文件A,其中包含我想从文本文件中删除的行号B。例如,文件A.txt包含行

1
4
5
Run Code Online (Sandbox Code Playgroud)

和文件B.txt包含行

A
B
C
D
E
Run Code Online (Sandbox Code Playgroud)

结果文件应该是:

B
C
Run Code Online (Sandbox Code Playgroud)

当然,这可以手动完成

sed '1d;4d;5d' B.txt
Run Code Online (Sandbox Code Playgroud)

但我想知道如何在不手动指定行号的情况下做到这一点。

sed awk text-processing

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

标签 统计

awk ×2

bash ×2

perl ×2

process-substitution ×1

sed ×1

text-processing ×1