that : screenshot 13:25.png
おそらく ":"が原因で、Windowsのような名前のファイルが複数あり、これらのファイルを開くのに苦労しています。
どうすれば交換できますか?
that : screenshot 13:25.png
おそらく ":"が原因で、Windowsのような名前のファイルが複数あり、これらのファイルを開くのに苦労しています。
どうすれば交換できますか?
回答:
ターミナルでcd、適切なディレクトリに移動して、これを実行します。
rename 's/\:/-/g' *.png -vn
これにより、名前の変更がプレビューされます。に置き換える必要が:あり-ます。
それが正しいようであればn、最後からを削除すると、実際の名前変更が行われます。
注:17.04を超えるUbuntuバージョンはに付属していませrenameんが、デフォルトのリポジトリで引き続き利用できるため、使用sudo apt install renameして入手してください
n簡単に削除できます(または)。
rename 's/\:/-/g; s/%28/ /g; s/%29//g' ...
これが純粋なbashソリューションです。
for i in *:*; do
mv "$i" "${i//:/_}"
done
${var//pattern/replacement}フォーマットは、すべての出現置き換えますpatternとをreplacement変数に$var。bashの文字列操作機能の詳細については、こちらを参照してください。
複数のキャラクターに対してこれを行いたい場合は、単にキャラクタークラスに配置することができます。したがって、たとえば、すべてを置き換えるために;、:、=、+、%、,アンダースコアで、あなたが行うことができます:
$ ls
1foo:bar 2foo:bar:baz 3foo;bar 4foo=bar 5foo%bar 6foo,bar 7foo+bar
$ for i in *; do mv "$i" "${i//[:;=%,+]/_}"; done
$ ls
1foo_bar 2foo_bar_baz 3foo_bar 4foo_bar 5foo_bar 6foo_bar 7foo_bar
基本的に、アイデアはそれを[ ]意味しany of the characters listedます。そのため、置換するすべての文字を文字クラスに配置することにより、すべての文字が一度に処理されます。
あなたが求めた特定の文字については、それらのいくつかをエスケープする必要があるため、物事はもう少し複雑です(/* nixはWindowsがそれを許可しないのでファイル名にそれを許可しないので、私は無視しています)問題):
$ ls
1foo<bar 2foo>bar 3foo:bar 4foo\bar 5foo|bar 6foo*bar 7foo?bar 8foo"bar 9foo'bar
$ for i in *; do mv "$i" "${i//[<>:\\|*\'\"?]/_}"; done
$ ls
1foo_bar 2foo_bar 3foo_bar 4foo_bar 5foo_bar 6foo_bar 7foo_bar 8foo_bar 9foo_bar
私はエスケープしていることに注意してください\、'と"追加することによって、\それぞれの目の前に。
私はGUIを好みますが、Nautilus拡張として、つまりNautilus Actions Extraとして:
sudo add-apt-repository ppa:nae-team/ppa
sudo apt-get update
sudo apt-get install nautilus-actions-extra
nautilus -q
(www.webupd8.org/2011/12/nautilus-actions-extra-pack-of-useful.htmlを参照)
次に、名前を変更するファイルを選択し、コンテキストメニューから[名前の変更]をクリックすると、ファイルの名前を変更するための多くのオプションが提供されます。
このrenameutilsパッケージには、qmvインタラクティブなバッチ名の変更を提供する便利なプログラムがあります。ディレクトリまたはファイルのリストで実行すると、ファイル名を含む一時テキストファイルが生成され、お気に入りのエディターが起動します。エディターを終了すると、変更したファイル名はそれに応じて名前が変更されます。qmvバッチ名前変更の問題をテキスト編集の問題に変えます。
この場合、qmv -f do *:*コロンを含むすべてのファイルの名前を編集してから:%s/:/_/g、Vim のコマンド(または、使用するエディターでの対応する検索と置換)を編集できます。
この-f doオプションは、宛先ファイル名のみを持つようにテキストファイルの形式を設定します。これにより、検索と置換がより簡単になります。デフォルトの形式では、各行にファイル名のコピーが2つあり、2番目のファイルのみを編集します。これにより、ファイル内の行を削除または並べ替えた場合に正しいことを実行できますが、必ずしも最も簡単なわけではありません。他の形式もあります。
を使用するqmvとsed、インタラクティブ機能が必要ない場合は、のような選択したコマンドを介して生成されたファイルをパイプすることを選択できます。
Thunar(XFCEファイルマネージャー)には、ファイルの一括名前変更のための優れたビルドイン機能があります。文字の削除/置換、検索と置換、ファイルの番号付けなどのオプションがあります。
thunarをインストールします。
sudo apt-get install thunar
thunarを開き、ファイルを参照して選択し、「名前の変更」を選択します(コンテキストメニューまたはF2)
@echo off
echo.
echo. How many Characters Do You Want To Remove
echo.
echo. From The End Of The FileName ?
echo.
echo.
set /p variable=" > "
setlocal enabledelayedexpansion
for /f "delims=" %%a in (' dir /b /a-d *.mp3') do (
set oldName=%%a
Set newName=!oldName:~0,-%variable%!.mp3
Ren "!oldName!" "!newName!"
)
exit