CLIシェルのコード行数(空白行を除く)をどうやって知ることができますか?
sh
この質問の目的は、CLIシェルのコード行数を計算する方法を理解することですBash
。
カーネルが約1,500万行のコードであることを考えると、実際にカーネルと対話できるようにする2つのプログラムのコード行数が気になります。
ベストアンサー1
最新バージョンの場合強く打つ、つまりbash v4.4、答えは134576です。私が使用するコマンドは
find . -name '*.[ch]' | xargs grep -v '^\s*$' | wc -l
find . -name '*.[ch]'
.c
orで終わるファイルを見つけることを意味します。 (ファイルもソースコードの一部であると仮定しますが、ファイルは計算しませ.h
ん).def
.po
in, grep -v '^\s*$'
(記録, [\s*] 形式を \s* に変更),
-v
これを行う行だけを印刷するいいえマッチ^
行の始まりを示します。$
行の終わりを示します。\s
スペース、タブ、改行などのスペースを表します。
したがって、grep -v '^[\s]*$'
空白のみの行を除いてwc -l
数を数えます。
たくさんありますシェンUNIX v6 shのソースコード(https://etsh.io/history/sh.c)。ライン数は860本に過ぎません。