名前に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テスト結果が満足であれば削除してください。

答え2

ドットはすべての文字と一致するため、ダブルポイントはファイル名の最初の2文字と一致するため、これらの文字はダッシュに置き換えられますrename。正規表現で各点をエスケープするか、\.ループを使用します(これについて書かれていますbash)。

for name in ./*..*; do
    newname=${name/../-}
    printf 'Would move %s to %s\n' "$name" "$newname"
    # mv -i "$name" "$newname"
done

一度実行して正しい内容が出力されていることを確認し、削除してやり直し#てください。

このループは、2 つの連続したポイントを含む現在のディレクトリのすべての名前を繰り返します。パラメータ${name/../-}置換は、2つの連続した点が最初に表示されることをダッシュ​​で置き換えます。これはシェルファイル名のグロービングパターンなので、ドットはある意味特別ではありません。

関連情報