次のフォルダ構造があります。
/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 {} \;