我需要计算在 file.txt 的偶数行中出现字母 'b' 或 'B' 的次数,例如对于 file.txt 像:
everyB or gbnBra
uitiakB and kanapB bodddB
Kanbalis astroBominus
Run Code Online (Sandbox Code Playgroud)
我得到了第一部分,但我需要数这些 b 或 B 字母,但我不知道如何将它们一起数
awk '!(NR%2)' file.txt
Run Code Online (Sandbox Code Playgroud)
您能否尝试以下方法,另一种awk在移动设备上编写的方法将在几分钟内尝试一下,但应该可行。
awk -F'[bB]' 'NR%2 == 0{print (NF ? NF - 1 : 0)}' Input_file
Run Code Online (Sandbox Code Playgroud)
感谢@Ed sir 解决了评论中发现的零匹配问题。
awk '!(NR%2)' file.txt | tr -cd 'Bb' | wc -c
Run Code Online (Sandbox Code Playgroud)
解释:
awk '!(NR%2)' file.txt:仅保留 file.txt 中的偶数行tr -cd 'Bb':只保留B和b字符wc -c: 计算字符数例子:
对于下面的文件,结果是 4。
everyB 或 gbnBra uitiak B和 kanap B b奇数B 坎巴利斯·星波米努斯