シェルスクリプト総合 ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
159:login:Penguin 07/09/16 01:01:56 S5o7UTSR 初歩の初歩は自力で身に付けてから来てくれよ。 160:login:Penguin 07/09/16 01:06:18 BSYCrrV+ タコタコ 161:login:Penguin 07/09/17 04:16:34 nqz563FT convmv -r -f sjis -t utf-8 * --notest で、再帰的にカレントディレクトリ以下のファイル、ディレクトリ全てに対して sjisからutf-8に変換をかけるコマンドを打ったのですが、sjisとeuc-jpが混在していて convmvの仕様だと 1ファイルでも -f で指定した文字コード以外の文字コードのファイルが 存在した場合はそこで全ての変換処理が実行されなくなってしまいます。 違う文字コードの場合は除外して残りを全て処理してくれるオプションは無いかとman convmv を読んで見ましたが、無いようです。 仕方が無いので、これをシェルスクリプトで実現したいと思います。 実際にやりたいコマンドは convmv -r -f sjis -t utf-8 /data/* --notest で、これで変換できないファイルは convmv -r -f euc-jp -t utf-8 /data/* --notest で、全てのeuc-jpとsjisをutf-8にする事です。 for TARG in `find /data | nkf -w8` do convmv -f sjis -t utf-8 ${TARG} --notest convmv -f euc-jp -t utf-8 ${TARG} --notest done これで、sjisのファイルだろうがeuc-jpのファイルだろうが必ずutf-8になると思われますが いけると思いますか? | nkf -w8 をかませているのは、こうしないとターミナルで見た限りだと 文字化けしたファイル名でそのまま表示されるので、これだと多分ファイルにアクセスできないだろう との配慮から、ちゃんとしたファイル名で見えるようにしたつもりです。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5394日前に更新/275 KB
担当:undef