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

おすすめ記事