读取包含特定字符串的行数

Sam*_*ynn -2 command-line scripts

我有这个文件

 Adaptec.mib,sCSISmart1,.1.3.6.1.4.1.795.2.5.0.101,CRITICAL,
 Adaptec.mib,sCSISmart2,.1.3.6.1.4.1.795.2.5.0.102,INFORMATIONAL,
 Adaptec.mib,sCSISmart3,.1.3.6.1.4.1.795.2.5.0.107,INFORMATIONAL,
 adaptec.mib,sCSISmart4,.1.3.6.1.4.1.795.2.5.0.108,INFORMATIONAL,
 Adaptec.mib,sCSISmart5,.1.3.6.1.4.1.795.2.5.0.109,INFORMATIONAL,
 adaptec.mib,sCSISmart6,.1.3.6.1.4.1.795.2.5.0.110,INFORMATIONAL,
 Adaptec.mib,sCSISmart7,.1.3.6.1.4.1.795.2.5.0.111,INFORMATIONAL,
 Adaptec.mib,sCSISmart8,.1.3.6.1.4.1.795.2.5.0.112,INFORMATIONAL,
 Adaptec.mib,sCSISmart9,.1.3.6.1.4.1.795.2.5.0.113,INFORMATIONAL,
 Adaptec.mib,sCSISmart10,.1.3.6.1.4.1.795.2.5.0.114,INFORMATIONAL,
 Adaptec.mib,sCSISmart11,.1.3.6.1.4.1.795.2.5.0.115,CRITICAL,
 Adaptec.mib,sCSISmart12,.1.3.6.1.4.1.795.2.5.0.116,INFORMATIONAL,
 Adaptec.mib,sCSISmart13,.1.3.6.1.4.1.795.2.5.0.117,INFORMATIONAL,
 Adaptec.mib,sCSISmart14,.1.3.6.1.4.1.795.2.5.0.118,INFORMATIONAL,
 Adaptec.mib,sCSISmart15,.1.3.6.1.4.1.795.2.5.0.119,CRITICAL,
 Adaptec.mib,sCSISmart16,.1.3.6.1.4.1.795.2.5.0.120,CRITICAL,
 Adaptec.mib,sCSISmart17,.1.3.6.1.4.1.795.2.5.0.121,INFORMATIONAL,
 Adaptec.mib,sCSISmart18,.1.3.6.1.4.1.795.2.5.0.122,INFORMATIONAL,
 Adaptec.mib,sCSISmart19,.1.3.6.1.4.1.795.2.5.0.123,CRITICAL,
 adaptec.mib,sCSISmart20,.1.3.6.1.4.1.795.2.5.0.124,INFORMATIONAL,
 Adaptec.mib,sCSISmart21,.1.3.6.1.4.1.795.2.5.0.125,INFORMATIONAL,
 ashcroft_hsv_340.mib,sCellEventTrap_02_00,.1.3.6.1.4.1.232.13600512,信息,
 ashcroft_hsv_340.mib,sCellEventTrap_03_21,.1.3.6.1.4.1.232.13600801,次要的,

我想存储包含adaptec.mib的行数,在本例中为21。

如何才能做到这一点?使用任何 sed/grep/awk。

May*_*hux 5

如果您的文件按照上面的示例进行排序,您可以执行以下操作grep

grep "adaptec\.mib" filename | wc -l
Run Code Online (Sandbox Code Playgroud)

输出为 21。

PS:如果文件未排序,这将不是有效的解决方案

  • “\”字符对“.”进行转义。以便它包含在字符串中。 (2认同)