grep "^[^#]" file.txt | wc -l
私はそれを単一のファイルの行数を計算するために使用しました。
awk
次に始まらない行数をどのように計算#
し、このようにファイル名を印刷できますか?
file1.txt 30
file2.txt 33
....
ベストアンサー1
次の方法でこれを行うこともできますgrep
。
grep -c "^[^#]" *
または
grep -cv "^#" *
前者は空行も除外します。後者はそうではありません。
現在のディレクトリに単一のファイルがある場合、ファイル名は表示されません。grep
一部のバージョン(GNUを含む)では、次のオプションを追加することでこれを防ぐことができます。grep
-H
grep -cvH "^#" *
GNUはgrep
また、次の降順ディレクトリツリーの再帰検索もサポートしています。
grep -rcvH "^#" .
出力が要件と一致しないため、次のように表示されます。
file1.txt:30
file2.txt:33
ただし、この問題は出力をパイピングすることで解決できますsed 's/:\([^:]*\)$/ \1/'
。