[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:21946] Re: Filenameの一括変換
-
From:Shun-ichi TAHARA (田原 俊一)
-
Date:Sat, 7 Feb 2004 21:42:17 +0900 (JST)
- Subject: [plamo:21946] Re: Filenameの一括変換
- From: Shun-ichi TAHARA (田原 俊一) <jado@xxxxxxxxxxxxxxx>
- Date: Sat, 07 Feb 2004 21:41:37 +0900 (JST)
From: "Tadashi Nakamura" <tn_mls@hotmail.com>
Message-Id: <BAY2-DAV17h29cM3ory0002f3bc@hotmail.com>
> > find . -type f | gawk '{print "mv "$1" "tolower($1)}' > /tmp/chname.sh
> mv ./SUB1/SUBSUB1/15/S15_002.FIL ./sub1/subsub1/15/s15_002.fil
> のような Command では、変更できなくて
> mv ./SUB1/SUBSUB1/15/S15_002.FIL ./SUB1/SUBSUB1/15/s15_002.fil
> というようにしなければなりません。
> Sub Direcotry の名前は大文字でも構いません。
というか、上のパターンでは、あらかじめ小文字名のディレクトリを掘ってい
ないとうまく行かないですよね。
> これだと chname.sh の方を加工した方が早いかもしれませんが
> Sub Directory の名前はそのままで、Filename だけを
> 小文字にに変換するようなことはできるのでしょうか。
perl あたりで、opendir して1つずつ処理すると楽で確実ですが、せっかくな
ので find を活用しますか。
UNIX ともあろうものなら、このくらいは一発ですよ。
$ for f in `find . type f`; do
> ( cd `dirname $f` ; ff=`basename $f`
> mv $ff `echo $ff | tr '[A-Z]' '[a-z]'` )
> done
bash の場合です。テストはしてません :-)。
find の -exec 構文を使ってもいけるかもしれませんが、さすがにこれくらい
になると、中身はシェルに任せて for で回した方が楽ですね。
_______________________________
田原 俊一 jado@flowernet.gr.jp, shunichi_tahara@zenrin.co.jp
http://flowernet.gr.jp/jado/
FingerPrint: 16 9E 70 3B 05 86 5D 08 B8 4C 47 3A E7 E9 8E D9
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
- References
-
- [plamo:21940] Re: Filenameの一括変換, 辰己丈夫
- [plamo:21941] Re: Filenameの一括変換, 辰己丈夫
- [plamo:21943] Re: Filename の一括変換, Tadashi Nakamura
[検索ページ]
[メール一覧]
Plamo ML 公開システム