逆引きUNIXコマンド/拡張子の一気置換、ファイル名の追記・削除をする方法・rename・rename.ul
の編集
Top
/
逆引きUNIXコマンド
/
拡張子の一気置換、ファイル名の追記・削除をする方法・rename・rename.ul
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * ファイル名の拡張子を一気に置換したり追記や不要部分を削除する方法・rename(rename.ul) [#gf3bbdc7] ファイル名の拡張子を一気に置換したり、不要な部分を削除したり、不足分を追記したりする場合は、rename(rename.ul)コマンドが便利です。~ 尚、RedhatやCentOSでは、''rename''、Debian、Ubuntuの場合は、''rename.ul''コマンドとなります。~ コマンド名が異なる理由は、DebianやUbuntuだと、Perlスクリプトのrenameが起動されてしまうからです。~ 以下は、Ubuntu16.04でしたときの出力です。Debian系だと、renameがPerlスクリプトであることが確認できます。 $ lsb_release -d Description: Ubuntu 16.04.5 LTS $ file `which rename` /usr/bin/rename: symbolic link to /etc/alternatives/rename $ ls -l /etc/alternatives/rename lrwxrwxrwx 1 root root 20 12月 25 2016 /etc/alternatives/rename -> /usr/bin/file-rename $ file /usr/bin/file-rename /usr/bin/file-rename: a /usr/bin/perl -w script, ASCII text executable したがって、Redhat, CentOS系では、''rename''コマンド、Debian, Ubuntu系では、''rename.ul''となります。~ また、オプションが適切では無い場合、ファイルが消えてしまう場合がありますので、~ 色々テストをして使用してください。 #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) #contents * rename (rename.ul) コマンドを使ってファイルの拡張子を一気に変換する [#t3bbdaf0] 以下の例では、拡張子datをtxtに置換している例になります。 + テスト用のディレクトリを作成しcd(Change Directory)しました。 $ mkdir rename_test $ cd rename_test/ + 以下のように拡張子datを3ファイル、log、csvファイルを各1ファイル作成しました。 $ touch a.dat b.dat c.dat d.log e.csv $ ls a.dat b.dat c.dat d.log e.csv + renameコマンドを使って拡張子datをtxtに変換します。 $ rename.ul .dat .txt *.dat + 変換後lsコマンドにてファイル名一覧を表示しています。~ 拡張子datの3ファイルがtxtに変換されているのが確認できます。 $ ls a.txt b.txt c.txt d.log e.csv 構文は以下のようになります。 - Redhat, CentOS rename .変更前拡張子 .変更後拡張子 対象ファイル - Debian, Ubuntu rename.ul .変更前拡張子 .変更後拡張子 対象ファイル 上記の例では、変更前拡張子が .dat で変更後拡張子が .txt を指定しています。~ 対象ファイルは、ワイルドカード(*)を使用し *.dat を指定しています。 * ファイル名内の不要な部分を削除する [#kc8257ac] rename(rename.ul)を使って、ファイル名内の不要な部分を削除する実行例です、。 + テスト用のディレクトリを作成しcd(Change Directory)しました。 $ mkdir rename_test2 $ cd rename_test2/ + 3つのファイルを作成します。 $ touch img1.jpg img2.jpg img3.jpg $ ls img1.jpg img2.jpg img3.jpg + rename(rename.ul)コマンドを使って、imgを削除します。 $ rename.ul img '' *.jpg $ ls 1.jpg 2.jpg 3.jpg 上記でシングルクォートがを2つ指定しているのは、置換文字列なしなので、削除となります。~ * ファイル名に追記する [#kc9dd9e2] 上記の削除したファイル名に対し追記してみます。 - 以下のようにすれば、またファイル名に付与することができます。 $ rename.ul '' IMG- *.jpg $ ls IMG-1.jpg IMG-2.jpg IMG-3.jpg 構文は以下のようになります。 - Redhat, CentOS rename 対象となるパターン '' 対象ファイル~ - Debian, Ubuntu rename.ul 対象となるパターン '' 対象ファイル~ 上記の操作例では、対象となるパターンをシングルクォート2つで何もなしを指定し、置換するパターンに追記する文字列を指定しています。 以上、rename(rename.ul)を使い、複数ファイルを対象にファイル名を置換する例の紹介でした。 #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
タイムスタンプを変更しない
#navi(../) * ファイル名の拡張子を一気に置換したり追記や不要部分を削除する方法・rename(rename.ul) [#gf3bbdc7] ファイル名の拡張子を一気に置換したり、不要な部分を削除したり、不足分を追記したりする場合は、rename(rename.ul)コマンドが便利です。~ 尚、RedhatやCentOSでは、''rename''、Debian、Ubuntuの場合は、''rename.ul''コマンドとなります。~ コマンド名が異なる理由は、DebianやUbuntuだと、Perlスクリプトのrenameが起動されてしまうからです。~ 以下は、Ubuntu16.04でしたときの出力です。Debian系だと、renameがPerlスクリプトであることが確認できます。 $ lsb_release -d Description: Ubuntu 16.04.5 LTS $ file `which rename` /usr/bin/rename: symbolic link to /etc/alternatives/rename $ ls -l /etc/alternatives/rename lrwxrwxrwx 1 root root 20 12月 25 2016 /etc/alternatives/rename -> /usr/bin/file-rename $ file /usr/bin/file-rename /usr/bin/file-rename: a /usr/bin/perl -w script, ASCII text executable したがって、Redhat, CentOS系では、''rename''コマンド、Debian, Ubuntu系では、''rename.ul''となります。~ また、オプションが適切では無い場合、ファイルが消えてしまう場合がありますので、~ 色々テストをして使用してください。 #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) #contents * rename (rename.ul) コマンドを使ってファイルの拡張子を一気に変換する [#t3bbdaf0] 以下の例では、拡張子datをtxtに置換している例になります。 + テスト用のディレクトリを作成しcd(Change Directory)しました。 $ mkdir rename_test $ cd rename_test/ + 以下のように拡張子datを3ファイル、log、csvファイルを各1ファイル作成しました。 $ touch a.dat b.dat c.dat d.log e.csv $ ls a.dat b.dat c.dat d.log e.csv + renameコマンドを使って拡張子datをtxtに変換します。 $ rename.ul .dat .txt *.dat + 変換後lsコマンドにてファイル名一覧を表示しています。~ 拡張子datの3ファイルがtxtに変換されているのが確認できます。 $ ls a.txt b.txt c.txt d.log e.csv 構文は以下のようになります。 - Redhat, CentOS rename .変更前拡張子 .変更後拡張子 対象ファイル - Debian, Ubuntu rename.ul .変更前拡張子 .変更後拡張子 対象ファイル 上記の例では、変更前拡張子が .dat で変更後拡張子が .txt を指定しています。~ 対象ファイルは、ワイルドカード(*)を使用し *.dat を指定しています。 * ファイル名内の不要な部分を削除する [#kc8257ac] rename(rename.ul)を使って、ファイル名内の不要な部分を削除する実行例です、。 + テスト用のディレクトリを作成しcd(Change Directory)しました。 $ mkdir rename_test2 $ cd rename_test2/ + 3つのファイルを作成します。 $ touch img1.jpg img2.jpg img3.jpg $ ls img1.jpg img2.jpg img3.jpg + rename(rename.ul)コマンドを使って、imgを削除します。 $ rename.ul img '' *.jpg $ ls 1.jpg 2.jpg 3.jpg 上記でシングルクォートがを2つ指定しているのは、置換文字列なしなので、削除となります。~ * ファイル名に追記する [#kc9dd9e2] 上記の削除したファイル名に対し追記してみます。 - 以下のようにすれば、またファイル名に付与することができます。 $ rename.ul '' IMG- *.jpg $ ls IMG-1.jpg IMG-2.jpg IMG-3.jpg 構文は以下のようになります。 - Redhat, CentOS rename 対象となるパターン '' 対象ファイル~ - Debian, Ubuntu rename.ul 対象となるパターン '' 対象ファイル~ 上記の操作例では、対象となるパターンをシングルクォート2つで何もなしを指定し、置換するパターンに追記する文字列を指定しています。 以上、rename(rename.ul)を使い、複数ファイルを対象にファイル名を置換する例の紹介でした。 #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
テキスト整形のルールを表示する