- ベストアンサー
大文字変換
Linuxの初心者です。 windowsからLinuxにファイルを移動させると、ファイル名が小文字になってしまいます。これをなんとか回避する方法はありませんでしょうか? ・windows,Linuxの設定変更? ・Linuxで大文字を小文字に変換するコマンドがあればそれでも良いです。 ただ、その場合、ファイル数が多いので一括変換&拡張子前だけ変換 にする方法が知りたいです。 ファイル名は、すべて半角英数字としています。 以上です。 ご教授下さい。
- みんなの回答 (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 ※スクリプトは動作確認していません。
その他の回答 (1)
- k_izumo
- ベストアンサー率50% (68/134)
> windowsからLinuxにファイルを移動させる 何で移動させてるのですか? FTP? SAMBA? HTTP?
お礼
ありがとうございました。 うまく行きました!!