いいですね。私がBashにあり、フォルダにいくつかのファイルがあるとしましょう。それらのいくつかは、入力できない奇妙なUnicode文字で始まり、名前が付けられfile☠☡☢☣.txt
ました。☠☡☢☣
これらのいずれかをどのように言及しますか? Tabキーを押すとオートコンプリートされ、file
奇妙な文字を入力するように求められます。 bashに「あなたが提供したリストから3番目の項目を選択してください」と言う方法はありますか?
答え1
Shiftこの問題を解決し、+などのreadlineで他の種類のキーバインディングを使用することをお勧めしますTAB。以下を次の項目に追加します~/.inputrc
。
"\e[Z": menu-complete
その後、発行してくださいexec bash
(設定を読む必要があります~/.inputrc
)。ワンタイムでbashを再起動するのではなく、実行して同じバインディングを設定できますbind '"\e[Z": menu-complete'
。
ShiftTABこれで、繰り返しシーケンスを使用して一致するファイル名を繰り返すことができます(次の一致文字を入力する必要はありません)。これは実行されたすべてのコマンドに適用されます(シーケンスにバインドされている標準の読み出しラインコマンドであるためShiftTAB)。 OPが指摘したように、これはキーの標準動作に影響を与えず、組み合わせにTAB機能を追加するだけです ShiftTAB。
答え2
?
時々動作するもう1つの方法は、ワイルドカードまたはワイルドカードを使用して、*
タブの完成と一意に一致するものが得られるまで、残りの「アイテム」を入力することです。
答え3
含まれているディレクトリに移動して、次の行をfile☠☡☢☣.txt
入力しますls -i
。
xxxxx file☠☡☢☣.txt
xxxxx
インデックス番号はどこにありますかfile☠☡☢☣.txt
?入力する:
find . -maxdepth 1 -inum xxxxx -exec /bin/mv -i {} bettername.txt \;
ここで、xxxxx
前の行はで得られた上記のインデックス番号ですls -i
。file☠☡☢☣.txt
に名前が変更されましたbettername.txt
。