お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2016-09-07 22:52:19

kazuki2655
メンバ
登録日: 2016-08-18

ファイル名の大文字小文字の変換コマンド

英名の大文字と小文字が混ざったファイル名を小文字のみに変換したいのですが
そういったコマンドはあるのでしょうか?


trコマンドで文字列の置換ができると検索したら見つけたので
それっぽく $ls | tr "A-Z" "a-z"としてみたのですが
そのままlsで表示される文字列が置換されました。

renameコマンドと組み合わせたらできるのでしょうか?

ネットでいくつか見かけましたがスクリプトを自分で組まないと出来ないのでしょうか?

オフライン

 

#2 2016-09-08 08:06:29

ry
メンバ
登録日: 2008-07-30

Re: ファイル名の大文字小文字の変換コマンド

一番簡単なのは以下

コード:

f=ファイル名; mv "$f" "${f,,}"; unset f

まとめて実行したいなら上記を元にいくつかのコマンドを組みあわせる必要がありそう。

オフライン

 

#3 2016-09-08 08:17:09

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: ファイル名の大文字小文字の変換コマンド

kazuki2655 による投稿:

英名の大文字と小文字が混ざったファイル名を小文字のみに変換したいのですが
そういったコマンドはあるのでしょうか?


trコマンドで文字列の置換ができると検索したら見つけたので
それっぽく $ls | tr "A-Z" "a-z"としてみたのですが
そのままlsで表示される文字列が置換されました。

renameコマンドと組み合わせたらできるのでしょうか?

ネットでいくつか見かけましたがスクリプトを自分で組まないと出来ないのでしょうか?

単独コマンドは無いようですね。
簡単に、ワンライナーでも良さそうですが、
(参照: http://techofcollesta.blogspot.jp/2013/12/linuxterminal.html )
不都合なことがありそうなので、スクリプトで組んだほうが良いような気がします。
(参照: http://bashalog.c-brains.jp/11/06/02-094801.php )

組んだスクリプトは、実行権を付け、ホームディレクトリに、bin という名前のディレクトリを作り、そこに入れます。
これで、再ログインすると、このディレクトリが、コマンド検索パスに追加されます。

こういったツールは、単機能コマンドを組み合わあせて作り、使い回すというのが、Unix系OSの伝統のようです。

オフライン

 

#4 2016-09-08 08:34:12

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: ファイル名の大文字小文字の変換コマンド

rename コマンドの使い方も検索すれば、色々、ヒットするかと思います。
参照: https://orebibou.com/2016/01/linux%E3%81%A7%E8%A4%87%E6%95%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%83%AA%E3%83%8D%E3%83%BC%E3%83%A0%E3%81%97%E3%81%A6%E4%B8%80%E6%8B%AC%E3%82%B3%E3%83%94%E3%83%BC%E3%81%99%E3%82%8B/
参照: https://orebibou.com/2015/07/unix%E3%83%BBlinux%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E3%83%BB%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E5%90%8D%E3%81%AE%E4%B8%80%E6%8B%AC%E7%BD%AE%E6%8F%9B%E3%82%92%E8%A1%8C%E3%81%86/

オフライン

 

#5 2016-09-09 07:51:27

ry
メンバ
登録日: 2008-07-30

Re: ファイル名の大文字小文字の変換コマンド

ワンライナーでもスクリプトでも、ファイル名にスペースが含まれていると酷い目に遭うので注意。

オフライン

 

Board footer

Powered by FluxBB