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