

カレントディレクトリに以下のようなサブディレクトリがあるとき、  
`cd 20220123_EEE`と入力して移動したいのですが、  
この場合タブ補完がうまく機能しないです(20220123_Eまで入力しないといけない)。

[code]

    20220120_AAA
    20220121_BBB
    20220122_CCC
    20220123_DDD
    20220123_EEE
    20220125_FFF
    
[/code]

「`EEE`を含むディレクトリに移動する」という操作ができればよいのですが、  
うまい方法はないでしょうか。それともディレクトリの命名規則を変えるしかないでしょうか。


CC BY-SA 4.0
2022-01-26T12:25:12.493
85949
2022-01-26T14:03:08.953
50949
question
bash
「日付_内容」のようなファイル/フォルダ名に対して、bashのTab補完をうまく使う方法


bash の Tab 補完は通常、 **確定できる文字列まで** を補完するので、候補が複数ある場合は `Tab`
キーを繰り返し入力すると残りの候補を一覧表示してくれます。  
一覧を確認しつつ続きの文字を入力して `Tab` キーを押すと、改めて確定可能な範囲で補完を続けてくれます。

  1. `cd` の後に `Tab` キー → `cd 2022012` まで補完される
  2. `Tab` キーを繰り返し入力 → 候補一覧が表示
  3. 続きの `3` を入力して `Tab` キー → `cd 20220123_` まで補完される
  4. `Tab` キーを繰り返し入力 → 候補一覧が表示
  5. 続きの `E` を入力して `Tab` キー → `cd 20220123_EEE` まで補完される


CC BY-SA 4.0
2022-01-26T13:01:43.800
85950
2022-01-26T13:01:43.800
3060
85949
answer

[code]

    $ cd *EEE_
    
[/code]

（`_`は実際の入力ではなくカーソルが存在するべき位置を示します。）  
まで入力した段階で`ESC` `*`（もしくは`Ctrl+[` `*`）を入力するとカーソル直前にある`*EEE`の部分がグロブ展開されて

[code]

    $ cd 20220123_EEE
    
[/code]

に書き変わります。これは [insert-
completions](https://www.gnu.org/software/bash/manual/html_node/Commands-For-
Completion.html#index-insert_002dcompletions-_0028M_002d_002a_0029) です。


CC BY-SA 4.0
2022-01-26T13:27:38.163
85952
2022-01-26T14:03:08.953
2022-01-26T14:03:08.953
4236
4236
85949
answer