如何使用shell脚本计算每行中的选项卡数?

10 linux bash shell

我需要编写脚本来计算文件中每行的制表符数量,并将输出打印到文本文件(output.txt).这该怎么做?

bcd*_*bcd 18

awk '{print gsub(/\t/,"")}' inputfile > output.txt
Run Code Online (Sandbox Code Playgroud)


che*_*ner 7

如果将其\t视为字段分隔符,则\t每行上的字段数将少于一个:

awk -F'\t' '{ print NF-1 }' input.txt > output.txt
Run Code Online (Sandbox Code Playgroud)

  • 我更喜欢这个答案,而不是公认的`gsub`用法,因为它更容易扩展到基于选项卡数量选择行。例如:'awk -F'\ t''BEGIN {OFS =“ \ t”} {if(NF-1!= 27)print NR,NF,$ 0; }'打印每行的行号和选项卡数,而没有确切的27个制表符,然后是令人讨厌的行本身。 (2认同)