名前の一部でフォルダを検索したいのですが、これは私が知っている、この種のフォルダによくあることです。私はこのようなbashスクリプトで「find」コマンドを使用しました
find . -type d -name "*.hg"
現在のディレクトリから見つかったフォルダ自体へのパス全体を出力するだけです。フォルダ名に「.hg」があります。その後、「sed」コマンドを使用しようとしましたが、パスの最後の部分をアドレス指定できませんでした。フォルダ名の末尾を.hgにして変数に保存し、「sed」コマンドを使用して最後のディレクトリを出力から削除することにしました。私はこれを使って最後の部分を取得し、結果を変数に保存しようとしますが、運がありません。
find . -type d -name "*.hg"|sed 's/*.hg$/ /'
find . -type d -name "*.hg"|awk -F/ '{print $NF}
これはファイル名を出力するだけです。ここでは、末尾に.hgが付いたフォルダーです。それから私は別のアプローチを使用します
for i in $(find . -type d -name '*.hg' );
do
$DIR = $(dirname ${i})
echo $DIR
done
これも機能しませんでした。誰かが私にこれを機能させるためのヒントを教えてもらえますか?はい、それは宿題です。