bashでワイルドカードを使用したディレクトリの一致

bashでワイルドカードを使用したディレクトリの一致

フォルダ構造は次のように仮定します。

/home/
--user1/asdf
--user2/asdf1234
--user3/asdf325234
--cool/asdf

ユーザーを指定せずにasdf1234にどのように変更できますか?たとえば、

cd /home/*/asdf1234

Bashで「not」を使用する方法は?たとえば、行きたいのですが、/home/cool機能を使わずに行きたいとしましょう。

cd /home/!user*/asdf可能ですか?

これらのbashトリックは可能ですか?

答え1

extglobシェルオプションをオンにしてcd /home/!(user*)/asdf

答え2

次のコマンドを使用すると、ユーザー名を指定せずにasdf1234ディレクトリに変更できます。

cd $(find . -name asdf1234 -type d | sed 1q)

sed 1qディレクトリ名だけが引数として渡されることを確認してくださいcd

関連情報