先頭に文字列を追加して複数のファイルの名前を変更する


21

ディレクトリ内の約200個のファイルについて1_、すべてのファイル名の先頭に文字列を追加したいと思います。

たとえば、ファイル名は次のDATASET_X_Y_Zようになります1_DATASET_X_Y_Z。結果はになります。

シェルスクリプトについてはわかりませんが、ターミナルには1つのライナーがあります。



@Rinzwindリンクは別の質問に関するものです。Macydanimの質問は、ファイルの内容ではなく、ファイル名に文字列を追加することです。
jc

回答:


38
  • rename 's/^/1_/' * 現在のディレクトリ内のすべてのファイルの名前を変更するため

または

  • rename 's/^/1_/' DATASET*現在のディレクトリ内のすべてのファイルのDATASET名前を、その名前で始まる名前に変更したため

説明:式s/^/1_/は、「ファイル名の先頭(この記号->を意味します^)」を1_「」に置き換えます。


renameすぐにこれを行わない場合は、インストールする必要がありますprename(PERLの名前変更)。
user1359

14

現在のディレクトリにあるすべてのファイルの名前を簡単に変更できます(bashを使用している場合):

for i in *; do mv "$i" 1_"$i"; done

明らかに注意してください。現在のディレクトリ内の「表示」されているすべてのファイル(ファイル名が「。」で始まらない)をすべて削除します。


これは私が見つけた最初の正しい解決策.csvで、ファイルのサブセットにのようなものを追加するために使用でき、の代わりにワイルドカード表現を変更できます*。+1
ゼルフィール・カルトシュタール

うわー!CLIでループします!これは、新しい。:)
レイモンドワチャガ

9

pyRenamerを使用できます。Ubuntuソフトウェアセンターにあります。 ここに画像の説明を入力してください 元のファイルパターンは{X}で、名前を変更したファイルパターンは1_ {1}でなければなりません


私のお気に入りのプログラムの1つ
アラン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.