0

次のフォルダー構造があります。

FolderA
-FolderA1 (child of FolderA), and 
-FolderA2 (child of FolderA)

現在、フォルダー A1 と A2 は git リポジトリです。フォルダーのレベルにいるときに、両方のフォルダーの git リポジトリ URL を取得するスクリプトを作成しています。

私は次のようなものを試しました:

cd FolderA

git remote -v | awk -F ' ' '{ print $2 }' | sort -u | cd FolderA1

git remote -v FolderA1\ | awk -F ' ' '{ print $2 }' | sort -u

しかし、これはうまくいかないようです。FolderA1 / Folder A2 の URL を取得するにはどうすればよいですか?

前もってありがとう、RKS

4

1 に答える 1

1

個人的には、次のようにします (連想配列のサポートには bash 4 が必要です)。

get_subdir_urls() {
  local oldwd subdir url idx
  [[ $1 ]] && { oldwd=$PWD; cd "$1"; }
  for subdir in */.git; do
    (
     declare -A urls
     cd "${subdir%.git}" && \
       while read _ url _; do
         urls[$url]="${subdir%.git}"
       done < <(git remote -v)
     for idx in "${!urls[@]}"; do
       printf '%s\t%s\n' "${urls[$idx]}" "$idx"
     done
    )
  done
  [[ $1 ]] && cd "$oldwd"
}

# usage:
get_subdir_urls FolderA
于 2013-01-16T20:06:06.443 に答える