パターンが変わるディレクトリを見つける方法は?

パターンが変わるディレクトリを見つける方法は?

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

/domains/some-domain-1/applications/j2ee-apps
/domains/some-domain-2/applications/j2ee-apps
/domains/some-domain-3/applications/j2ee-apps

親フォルダとサブフォルダが同じフォルダを処理する最善の方法は何ですか?たとえば、cd別のドメインフォルダのいとこのディレクトリにアクセスしたい場合は、j2ee-apps簡単な方法はありますか?ls最上位レベルでを実行し、一番下のフォルダ(たとえば)にあるすべてのアイテムをインポートするにはどうすればよいj2ee-appsですか?

この問題を最もよく処理する方法について賢明な提案がある人はいますか?

答え1

の場合は、ls次のコマンドを使用して完全なリストを取得できます。

ls /domains/*/applications/j2ee-apps

あるポイントから別のポイントに切り替えるには、必要なものを簡単に達成する方法はありません。

答え2

変形部分を保持するように変数を設定できます。このように:

domain='some-domain-1'
cd /domains/$domain/applications/j2ee-apps
domain='some-domain-2'
cd /domains/$domain/applications/j2ee-apps

cdコマンドは同じであるため、矢印キーを使用してシェルから呼び出すことができます。

これをどのくらいの頻度で実行するかによって、これを行う必要があるかもしれません.bashrc

cdj2(){
  cd /domains/"$1"/applications/j2ee-apps
}

そうすることができますcdj2 some-domain-1

シェルワイルドカード(別名パス名拡張)他の部分を処理できます(参照:ステファンヒメネスの答え)。findこのコマンドは、ディレクトリ構造がまったく同じではないが、特定の名前と一致するすべてのファイルを表示したい場合に便利です。

find /domains -name 'j2ee-apps' -exec ls {} \;

関連情報