我正在使用该grep -f
函数从文件中提取与特定模式匹配的行.假设我的模式文件pattern.txt
如下所示.
1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)
我匹配此模式的文件是file.txt
,
1::anv
2::tyr
3::yui
4::fng
5::gdg
6::ere
7::rer
8::3rr
9::gty
Run Code Online (Sandbox Code Playgroud)
现在,当我执行grep -f pattern.txt file.txt时,我得到了这个 - >
1::anv
2::tyr
3::yui
4::fng
5::gdg
8::3rr
Run Code Online (Sandbox Code Playgroud)
上面输出中的最后一行是导致我的问题.如何修改此grep命令以获取输出(显示正确的对应关系),如下所示?
1::anv
2::tyr
3::yui
4::fng
5::gdg
Run Code Online (Sandbox Code Playgroud) 我有一个问题涉及在少于n-1次连续乘法中给定任何n计算2 ^ n的可能性.通过避免执行n-1次乘法的任务,我可以利用什么来实现相同操作的最佳策略?这可以用较少的乘法来完成吗?如果是,那怎么样?
-谢谢
我有一个看起来像这样的文件.
a_8_3_1-b_30_5_6-c_6_2_1- + b_30_5_6-
a_123_1_1- + d_144_1_7-
a_123_1_1- + c_1_4_1-
b_50_1_1- + d_144_1_7-
a_123_1_1- + c_2_1_2-
c_1_4_1- + a_123_1_1-
a_123_1_1- + a_93_1_2-
d_144_1_7- + a_123_1_1-
c_2_1_2- + a_123_1_1-
a_123_1_1- + c_2_1_2-
Run Code Online (Sandbox Code Playgroud)
它有2列,用"+"符号分隔.我需要计算此文件中存在的唯一组合的数量.
如图所示,形成组合,例如在a_123_1_1-和c_2_1_2-之间,以及在c_2_1_2- + a_123_1_1-之间.现在我需要数不了.在这样的文件中出现这种对的情况,我知道这种组合(不论它们的相对顺序)发生了3次.
与a_123_1_1-和d_144_1_7-类似.它们以两种组合出现.每个组合出现一次.因此,累计计数= 2
我现在已经尝试将所有这些行放在哈希中(即每一行都是一个键,它的出现将是它的相应值)并打印出no.在PERL中使用map函数的出现次数.
但是,我如何包含这样的冗余并在各个元素之间解决这个问题?
请帮忙.