名前に2つの連続するピリオドを含む複数のファイルの名前を変更します。

名前に2つの連続するピリオドを含む複数のファイルの名前を変更します。

ファイル名に..(2つのピリオド)を含む数百のファイル名を変更し、..を-(ハイフン)に変更するには、renameコマンドを使用する必要があります。ピリオドが含まれているという事実は、 rename コマンドを混同しているようです。

以下は、いくつかのファイル名の例です。

20180201_190000_TX_AJAX..HHE_instrument_0456 
20180201_190000_TX_AJAX..HHN_instrument_0456 
20180201_190000_TX_AJAX..HHZ_instrument_0456

リンクされているように見えるように、このファイルの名前を変更する必要があります。

20180201_190000_TX_AJAX-HHE_instrument_0456 
20180201_190000_TX_AJAX-HHN_instrument_0456 
20180201_190000_TX_AJAX-HHZ_instrument_0456

このコマンドは次のとおりです。

rename 's/../-/' *

結果は次のファイル名です。

-180201_190000_TX_AJAX..HHE_instrument_0456 -180201_190000_TX_AJAX..HHN_instrument_0456 -180201_190000_TX_AJAX..HHZ_instrument_0456

サイクルには特別な目的があるようで混乱しています。それからこれを試しました。

rename 's/..H/-H/' *

例のAJAXは1つのサイトを表し、これらのサイトは異なります。上記の構文は機能し、「20180201_190000_TX_AJAX-HHE_instrument_0456」を生成します。これは多くのステーションで予想されますが、他のステーションでは予期しない結果です。

20180201_000000_SA.AKHBR..HNE_instrument_0542 renamed as 20180201_000000_SA.-HBR..HNE_instrument_0542

20180201_000000_SA.KSHB4..HHE_instrument_0935 renamed as 20180201_000000_SA.-HB4..HHE_instrument_0935

20180201_000000_SA.HTM01..HHE_instrument_0933 renamed as 20180201_000000_S-HTM01..HHE_instrument_0933

文字Hを含む放送局はすべて混乱しているようです。

ちなみに、AJAXはサイトコードで、サイトコードの長さは4〜5文字です。

次に私はこれを試しました:

rename ‘s/SA.????..H/SA.????-H/ * -n 

ただし、これを行うとエラーが発生します。

"Nested quantifiers in regex; marked by <-- HERE in m/SA.??? <-- HERE ?..H/ at (eval 1) line 1."

だからワイルドカードが好きではないと思います。

あなたが提供できる助けに感謝します。

ベストアンサー1

この試み:

rename -n 's/\.\./-/' ./*

.異議、方法すべての文字だから、すべてと一致します!

-nテスト結果が満足であれば削除してください。

おすすめ記事