我正在寻找简洁的Perl等价物(在脚本而不是单行内使用),以及我在bash / awk中做的一些事情:
Count=$(awk '/reads/ && ! seen {print $1; seen=1}' < input.txt)
通过指定的.txt文件进行搜索,该文件包含多行,包括以下格式的一些行:
8523723 reads; of these:
1256265 reads; of these:
2418091 reads; of these:
Printing&#39; 8523723&#39;并忽略其余的匹配行(因为我只希望对第一个匹配的实例进行操作)。
其次:
Count2=$(awk '/paired/ {sum+=$1} END{print sum}' < input.txt)
25 paired; of these:
15 paired; of these:
这会在每条匹配的行上创建一个总数,打印40。
答案 0 :(得分:1)
第一个是:
while (<>) {
if (/reads/) {
print;
last;
}
}
第二个是:
my $total = 0;
while (<>) {
if (/(\d+) paired/) {
$total += $1;
}
}
say $total;
毫无疑问,你可以为他们两个打高尔夫球。但这些版本是可读的: - )