Open1
GitHubリポジトリ内のコード行数を数えるコード

.go
のファイルかつ vendor
ディレクトリとGenerateされたファイルっぽいファイルを除外して表示するコマンド
#!/bin/bash
total=0
tempfile=$(mktemp)
# 一時ファイルに検索結果を保存
find . -name "*.go" -type f ! -path "./vendor/*" > "$tempfile"
while read -r file; do
# 先頭行だけを取得してDO NOT EDITが含まれているかチェック
if ! head -n 1 "$file" | grep -q "DO NOT EDIT"; then
# DO NOT EDITが含まれていない場合、そのファイルの行数を取得
lines=$(wc -l < "$file")
total=$((total + lines))
fi
done < "$tempfile"
# 一時ファイルを削除
rm -f "$tempfile"
echo $total