タグ付けされた質問 「rename」

名前変更タグは、他の操作(リモートコピー、バックアップなど)の一部として、既存のファイルまたはファイルのコピーに別の名前を付けるアクションを指します。このタグは、(perl)renameコマンドに関連する質問にも使用します。

2
名前に作成日を含むように画像の名前を変更する
画像のプロパティを見ると、「撮影日」に写真の撮影日が表示されています。画像(専用プログラム)を編集すると、このデータが失われます。 編集前に画像ファイルの名前を変更してこの日付を含めるにはどうすればよいですか(できればISO形式で名前で並べ替えます)。
9 rename  images 

2
ms-dosスタイルのワイルドカードをlsおよびmvで使用するにはどうすればよいですか?
私はMS-DOSのバックグラウンドから来るのは不幸ですが、少なくともLinuxがどれほど強力であるかを理解することができます。私はLinux-Fuを標準に近づけるよう取り組んでいますが、DOSでできることがいくつかありますが、Linuxで最も簡単に達成する方法がわかりません。 複数のファイルの名前を変更する-2つのワイルドカードを使用する c:\> dir Directory of c:\ file1.txt file2.txt file3.txt file4.txt c:\>rename *.txt *.bak c:\> dir Directory of c:\ file1.bak file2.bak file3.bak file4.bak 私はfind -execここで使用できることを知っていますが、おそらくmvいくつかの特別なフラグまたは構文を使用して、より短い構文を使用することは可能ですか?私は、このための鍵があると思い秒 *(つまり、私はワイルドカードを使用して名前を変更したいファイルを選択する方法を知っている)Linuxなどのワイルドカードは最初のものに問題を持つべきではありません 1つのファイルの名前を変更する-1つのワイルドカードを使用する c:\> dir Directory of c:\ file1.txt c:\>rename file1.txt *.bak c:\> dir Directory of c:\ file1.bak これは、長くて扱いにくいファイル名を変更するときに特に役立ちます。私は多分、私が使用して考えていたmv file1.txt $1.bakで終わるためにfile1.txt.bakも許容されるであろうが、私はあなたが参照することができないんだけど$1、シェルコマンドでパラメータをインライン。ここでも、この特定のケースでは、ms-dosが*ワイルドカードをどのようにファイル名の一部のキャプチャ/置換一致の一種として使用するかを単純化するのが便利です。 ワイルドカードを使用したディレクトリリストのフィルタリング c:\> dir Directory of …

1
移動または名前変更後にファイルへの参照を維持するための戦略?
最近Macを使用していて、フォルダの名前を変更して別の場所に移動した後も、Xcodeがまだ最新のプロジェクトを見つけられることに驚いていました。 現在、これは作業中の重いインフラストラクチャの結果であることを理解していますが、残りのUnixの世界でも同様の機能をどうにかして実現できるかどうか疑問に思いました。

3
「mkdir foo; svn mv * foo」
私はよくこのイディオムのいくつかの変形をしたいです: $ mkdir 2010 $ svn mv * 2010 もちろん、グロブも2010と一致するため、エラーが発生します。 svn: Cannot copy path '2010' into its own child '2010/2010' "svn mv * 2010"正しいことをする別のワンライナーに置き換える方法はありますか?

7
ファイル拡張子をクリーンアップする方法は?
拡張子を.mp3に変更したい.MP3ファイルを含むディレクトリがあります。これを行う最も簡単な方法は何ですか?私は次のように考えています: find /RootPath -type f -iname "*.mp3" -exec mv {} sed s/.*MP3/\1.mp3/ \; ...私はそれが正しくないことを知っていますが。:)置換は正しくなくmv、a sedと-execinでコマンドの両方を使用する方法がわかりませんfind。 これにはbashスクリプトが必要ですか?
9 shell  find  rename 

4
1つの行に2つの条件/置換を含む複数のファイルの名前を変更しますか?
いくつかの画像の名前を変更しようとしています: IMG_1.JPG IMG_2.JPG IMG_3.JPG 私は交換したいIMGとimgして.JPGと.jpg-私は2番目の部分を行う方法を知っています: $ rename 's/\.JPG$/\.jpg/' *.JPG 私の問題は、私がように見えることはできませんということであるmv IMG_.JPGとimg_.jpg私はあなたに複数のパターンを渡すことができます知っている- renameが、私は改正小文字の値で既存のファイル名を使用するように見えることはできません。 これについてどうすればよいですか?
8 files  rename  replace 

5
ソートを使用してファイル名内の単語をアルファベット順に並べ替えますか?
bashでファイルの名前を一括変更するチュートリアルを読んで、sortコマンドを使用してファイルの内容を並べ替えるとき、2つを組み合わせる方法を理解できませんでした。 プログラムがTagSpacesが物事を処理する方法と同様に、ファイル名内のタグを使用して内容がソートされたディレクトリがあります。ファイル名を作成またはダウンロードするときに、考えられるすべてのタグをファイル名の最後に追加します。次に例を示します。 Sunrise (2) #wallpaper #4k #googleimages.jpg 次に、これらすべてのファイルを調べて名前を変更し、タグの前後に影響を与えずにタグをアルファベット順に並べ替えたいと思います(たとえば、画像のタイトルやファイル拡張子)。したがって、上記は次のようになります。 Sunrise (2) #4k #googleimages #wallpaper.jpg どうすればこれを達成できますか?ファイルの内容ではなくファイル名をのようなコマンドに渡す方法を理解することもできませんsort。その出力をパイプで渡すことができmvます。
8 bash  rename  sort 

4
フォルダ構造の平坦化
私はこのフォルダー構造を持っています: ├── foo1 │ ├── bar1.txt │ └── bar2.txt ├── foo2 │ ├── bar3.txt │ └── bar4 with a space.txt └── foo3 └── qux1 ├── bar5.txt └── bar6.txt 各フォルダーレベルの間にアンダースコアを付けて、これにフラット化したいと思います。 ├── foo1_bar1.txt ├── foo1_bar2.txt ├── foo2_bar3.txt ├── foo2_bar4 with a space.txt ├── foo3_qux1.bar6.txt └── foo3_qux1_bar5.txt 調べてみましたが、うまくいく解決策が見つかりませんでした。ほとんどの場合、私の問題には2つの特殊性があるためだと思います。ルートレベル内に複数のフォルダーレベルがある場合と、一部のファイルにスペースがある場合があります。 これをbashで達成する方法はありますか?ありがとう! 編集:グリーンジャックマンの提案された回答の実行私はこれを取得します。 第1レベルのフォルダーには2つの下線があります。これを回避する方法、または名前を1つだけアンダースコアに変更する方法はありますか?ありがとう。

3
テキストファイルに従ってファイルのリストの名前を変更する
フォルダ内のファイルのリストを持っています。テキストファイルに従って名前を変更します。例えば: これらはフォルダ内の5つのファイルです。 101_T1.nii 107_T1.nii 109_T1.nii 118_T1.nii 120_T1.nii 新しいファイル名のリストを同じ順序で、拡張子なしで含むテキストファイルを使用して、名前を変更してもらいます.nii。 n01 n02 n03 n04 n05 どうすればそうできますか?
8 rename 

3
上書きされたファイルの新しい名前を生成して上書きを防止しますか?
同じ名前の既存のファイルがある場合、ファイルに新しい名前を生成するにはどうすればよいですか?デスクトップ環境では、ファイル名の最後に番号を追加して新しい名前を生成しますが、これはコマンドラインからどのように実行できますか? BusyboxでAndroidオペレーティングシステムを使用しています。

5
ファイル名のドットをアンダースコアに置き換え、拡張子はそのままにします
ファイル名のドットを置き換えてアンダースコアに置き換えようとするbashスクリプトがありますが、拡張子はそのままにしておきます(私はCentos 6を使用しています)。以下の出力からわかるように、置換するドットがある場合でもスクリプトは機能しますが、ドットのみが拡張子である場合、スクリプトはファイルを無視するのではなく、ファイルの名前を変更しようとします。誰かがこれをよりよく処理する方法を指摘できますか?助けてくれてありがとう。 私の(欠陥のある)スクリプト: #!/bin/bash for THISFILE in * do filename=${THISFILE%\.*} extension=${THISFILE##*\.} newname=${filename//./_} echo "mv $THISFILE ${newname}.${extension}" #mv $THISFILE ${newname}.${extension} done 入力例: 1.3MN-Pin-Eurotunnel-Stw505.51.024-EGS-130x130.jpg Wear-Plates.jpg 出力: mv 1_3MN-Pin-Eurotunnel-Stw505_51_024-EGS1-130x130.jpg 1_3MN-Pin-Eurotunnel-Stw505_51_024-EGS1-130x130.jpg mv Wear-Plates_jpg.Wear-Plates_jpg Wear-Plates_jpg.Wear-Plates_jpg

2
Perl名前変更ツール(Debian)で算術を実行しようとしています
5つのmp3ファイルがあるとします。 01-trackfoo.mp3 02-trackbar.mp3 03-trackbaz.mp3 04-trackabc.mp3 05-trackxyz.mp3 これで、ファイルをすばやく聴くことができ(コンソールのmplayerでうまくいきます)、トラックの順序が間違っていることがわかりました。05は実際には02で、残りは名前を変更する必要があります。したがって、最初に一時的な名前変更を行います。 01-trackfoo.mp3 02-trackbar.mp3 03-trackbaz.mp3 04-trackabc.mp3 00-trackxyz.mp3 ここで、「シフト」が必要です。02は03に、03は04に、04は05にすべきです。混乱を最小限に抑えるために、ex-05(現在は00)はmv後で編集されます。 私のアプローチはこれでした:(perl rename、Larry Wall、デフォルトはここDebian) rename 's/0([2-4])([\s\S]+)/0($1+1)$2/' * 同様に(後で、さらにRTFMを実行した後) rename 's/0([2-4])([\s\S]+)/0($1+1)$2/e' * 特に/e[val]修飾子が評価以外のものを受け入れず、評価と文字列を組み合わせようとするとエラーがスローされるため、それらはどれも機能しませんでした。bash例えば、うまくそれを行うことができます foo$((1+6))に評価されますfoo7。 では、これをどのように行うことができますか(これだけのためにスタンドアロンスクリプト全体を作成するつもりはなく、1行が望ましい)。

7
ファイル名を短縮するLinuxスクリプトまたはプログラム
Linux版のnamemanglerを見つけるのにあまり成功していません。Windowsで読めるように1000個のファイルの名前を変更する必要があります。 これを実行できるLinuxプログラムを知っている人はいますか? そうでない場合、フォルダ内のすべてのファイルの名前をたとえば最初の16文字に変更するだけでよいため、スクリプトが機能する可能性があります。スクリプトルートを下る価値はあるかもしれませんが、どこから始めればよいかわかりません。

4
正規表現を使用して複数のファイルをコピー/名前変更(シェルスクリプト)
「assignment02.cc」、「assignment02.h」、「assignment02.txt」などのパターンに一致するファイルのコレクションがあります。これらのファイルを「assignment03.cc」、「assignment03」にコピー/名前変更したいと思います。 h '、' assignment03.txt 'など。 シェルスクリプトを使用してsedを使用するのは簡単だと思います。これまでのところ: OLD_NO=$1 NEW_NO=$2 echo "Moving from $OLD_NO to $NEW_NO" for name in assignment$OLD_NO.* ; do newname=$(echo $name | sed 's/\(.*\)$OLD_NO\(.*\)/\1xx$NEW_NO\2/') echo "$name -> $newname" # mv -v $name $newname done 残念ながら、sedを呼び出す方法は常に入力文字列$nameを返し、実際には正規表現の検索/置換を行いません。 注:インターネットを見ると、renameこの機能を持つコマンドがありますが、私のMacBookでは使用できません。

3
新しいディレクトリ名でディレクトリ名を保持するディレクトリ階層の平坦化
私は基本的にこれから行きたいです: . ├── Alan Walker │ ├── Different World │ │ ├── 01 Intro.mp3 │ │ ├── 02 Lost Control.mp3 │ │ └── cover.jpg │ └── Same World │ ├── 01 Intro.mp3 │ └── 02 Found Control.mp3 ├── Aurora │ └── Infections Of A Different Kind Step 1 │ ├── …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.