ファイル名に部分文字列を追加する代わりに、bash中括弧拡張を使用して削除できますか?
次の技術を使用して、ファイル名にサフィックスを追加できる次のシナリオを検討してください。
mv offlineimap.conf{,.minimal}
特に名前を変更するのはofflineimap.conf
とてもofflineimap.conf.minimal
便利です。バックアップファイルの作成に使用されます(例:swith.bak
拡張子)。
ただし、次のように、指定されたファイル名から部分文字列を減算することもできます。
mv offlineimap.conf.minimal{,-minimal}
-
ここでは、部分文字列を減算するために仮想の特殊文字を使用しています。
私は既存のファイル名からサフィックスを削除する2番目の技術が欲しいですofflineimap.conf
。.minimal
答え1
中括弧コマンドを使用してサフィックスを削除するには(.minimal
ファイルからサフィックスを削除するなど)offlineimap.conf.minimal
。
mv offlineimap.conf{.minimal,}
サポートの延長の詳細
ここでのアイデアは、中かっこ拡張が中かっこの間にカンマで区切られた文字列のリストを使用して一連の文字列を生成することです。
$ echo a{b,c}
ab ac
初めて使用する場合、2 つの文字列のうち最初の文字列は空です。
$ echo a{,c}
a ac
目的のソリューションでは、2つの文字列のうち2番目の文字列が空になるように切り替えます。
$ echo a{b,}
ab a
または:
$ echo offlineimap.conf{.minimal,}
offlineimap.conf.minimal offlineimap.conf
答え2
John1024の返信に加えて(コメントできません)。
この方法を試して近道を見つけました。
オートコンプリート機能を使用する - Tabキーを押して、切り取る必要があるフルファイル名を入力します。
offlinei(tab key pressing) -> get full name -> offlineimap.conf.minimal
Enterキーを押し
,}
てから1単語後ろに移動し(Alt + b
Bashで){
、
私たちは私たちに必要な工事を受けています。 offlineimap.conf.{minimal,}