Bash 中かっこ拡張により、ファイル名の一部が削除されます。

Bash 中かっこ拡張により、ファイル名の一部が削除されます。

ファイル名に部分文字列を追加する代わりに、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の返信に加えて(コメントできません)。

この方法を試して近道を見つけました。

  1. オートコンプリート機能を使用する - Tabキーを押して、切り取る必要があるフルファイル名を入力します。

    offlinei(tab key pressing) -> get full name -> offlineimap.conf.minimal

  2. Enterキーを押し,}てから1単語後ろに移動し(Alt + bBashで){

私たちは私たちに必要な工事を受けています。 offlineimap.conf.{minimal,}

関連情報