Bashオートコンプリートワイルドカードを作成するには?

Bashオートコンプリートワイルドカードを作成するには?

ファイルを含むディレクトリがある場合

foo.bar.a.cat
foo.bar.a.hat

ls f+ TABbash シェルが にオートコンプリートされます。 + を入力するls foo.bar.a.と で自動完成します。ls *bar*TAB*bar*.a.

これは質問に似ているようです。

Bashでワイルドカードのタブ補完を有効にする方法は?

しかし、「私にはすぐに利用可能です」という提案された答えはそうではありません。私も試してみましたが、TAB TAB役に立ちませんでした。 `` bash --version givesGNU bash、バージョン4.2.37(1)-release(x86_64-pc-linux-gnu)`コマンド。

ベストアンサー1

あなたが望むもの:

挿入完了

ALT*「すべて挿入完了」

これにより、「aa ab ac ad」というファイル名を含むディレクトリが完成します
ls a*alt + *ls aa ab ac ad

マニュアルページバインディング項目:

挿入完了(M-*)

可能な補完が作成されるポイントの前にテキストのすべての補完を挿入します。

グローバル拡張語

一部のシステムでは、上記の内容はワイルドカードでは機能しません。このようなシステムでは、以下が私にとって効果的でした。

ctrlx*(2行政組合)

例: ディレクトリを次のコンテンツで埋めました。

touch {a,b,c,d,e,f}{1,2,3,4,5,6,7,8,9,0}00{a,b,c,d,f,e}

それからそれls *100*に従います。ctrl + x, *これは私の読み取り行を次のように置き換えます。

ls a100a a100b a100c a100d a100e a100f b100a b100b b100c b100d b100e b100f c100a c100b c100c c100d c100e c100f d100a d100b d100c d100d d100e d100f e100a e100b e100c e100d e100e e100f f100a f100b f100c f100d f100e f100f

マニュアルページバインディング項目:

グローバル拡張ワード(Cx *)

ポイントの前の単語はパス名拡張のためのパターンとして扱われ、一致するファイル名のリストが挿入されて単語が置き換えられます。数値引数が指定されると、パス名拡張の前に「*」が追加されます。

Bashリファレンスマニュアルページ

おすすめ記事