重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Linuxの初心者です。

windowsからLinuxにファイルを移動させると、ファイル名が小文字になってしまいます。これをなんとか回避する方法はありませんでしょうか?
・windows,Linuxの設定変更?
・Linuxで大文字を小文字に変換するコマンドがあればそれでも良いです。
 ただ、その場合、ファイル数が多いので一括変換&拡張子前だけ変換 にする方法が知りたいです。

ファイル名は、すべて半角英数字としています。

以上です。
ご教授下さい。

A 回答 (2件)

> ・Linuxで大文字を小文字に変換するコマンドがあればそれでも良いです。


>  ただ、その場合、ファイル数が多いので一括変換&拡張子前だけ変換 
> にする方法が知りたいです。

ちょっとシェルスクリプトを書けば簡単に変換できますよ。

--- [ rename.sh ] ---
#!/bin/bash

# 全ての引数に対してループ
while test $# -gt 0; do
# ディレクトリ部分は変換しないので切り出す
dir=$(dirname "$1")

# 移動元のファイル名
sname=$(basename "$1")

# 移動元拡張子以外の部分
sbase=$(echo "$sname" | sed -e 's/\.[^.]*$//')

# 移動先拡張子以外の部分
dbase=$(echo "$sbase" | tr A-Z a-z )

# 拡張子部分(.を含む)
ext=$(echo "$sbase" | sed -e 's/^.*\./\./')

# 移動
mv "$dir/$sbase$ext" "$dir/$dbase$ext"

# 次の引数へ
shift
done
----------------

引数で指定したファイルの名称を変換
$ rename.sh hogeHOGE.txt fugaFUGA.txt

カレントディレクトリ以下の全てのファイルの名称を変換
sed 部分はファイル名を二重引用符で囲んでいる。
$ find . -type f | sed -e 's/^/"/; s/$/"/' | xargs rename.sh
sh

※スクリプトは動作確認していません。
    • good
    • 0
この回答へのお礼

ありがとうございました。
うまく行きました!!

お礼日時:2010/02/25 15:28

> windowsからLinuxにファイルを移動させる



何で移動させてるのですか?
FTP?
SAMBA?
HTTP?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!