• ベストアンサー

同一ディレクトリ内のテキストファイル

の中の文字 「euc-jp」 を 「utf-8」 に変換したいのですが ファイルを1つずつ開いて訂正するのが大変なので ファイルを開かないでいっせいに行うコマンドは無いでしょうか?

  • guuman
  • お礼率86% (1043/1206)

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

Perl があれば perl -i~ -pe 's/euc-jp/utf-8/g' * かな? sed なら (勝手に bash と想定して) for f in *; do sed -e 's/euc-jp/utf-8/g' > $f-$$ && mv $f-$$ $f; done とか?

guuman
質問者

お礼

ありがとうございます 参考にしたいと思います

その他の回答 (3)

  • anights
  • ベストアンサー率72% (35/48)
回答No.4

perlが便利ですね。 perl -p -i -e 's/euc-jp/utf-8/g' * 変更前のファイルをバックアップしたいなら perl -p -i.bak -e 's/euc-jp/utf-8/g' *

guuman
質問者

お礼

ありがとうございます 参考にします

回答No.2

sedで s/euc-jp/utf-8/g でバッチを組んでやればできませんか。

guuman
質問者

お礼

ありがとうございます 簡単にコマンドでいけるわけではないのですね

回答No.1

utf8対応のnkfを拾ってきて、インストールして、 バッチファイルつくって、実行すればOKと思います。

guuman
質問者

補足

ありがとうございます 文字コードを変換するのではなく euc-jp という文字列を utf-8 という文字列に変換したいのです 各ファイルにその文字列が2箇所ありそれを変更したいのですがファイル数が30個あるので変更漏れを考えていっせいにコマンドでやりたかったのです

関連するQ&A

  • 文字コードの変換

    今、C言語の勉強をしているのですが、 EUC-JPの文字コードのファイルを読み込んでUTF-8の文字コードのファイルに変換したい場合はどうすればいいのでしょうか? それか、ファイルに書き込む時に文字コードをEUCーJPからUTFー8に変換して出力する方法でもいいです。 調べ足りないのかもしれませんが色々調べてもよくわかりませんでした。 よろしくお願いします。

  • PHPの文字コード変換について

    PHPで mb_convert_encodingを用いて UTF-8で記述されたPHPスクリプトファイルの PHPファイル内の任意の文字列の文字コードを変換する場合、 $value = "文字列"; $str = mb_convert_encoding($value ,"UTF8","UTF8"); print $str; この場合、特に問題なく、変換がおこなわれます というか、意味のないで処理ではありますが。 次に $str = mb_convert_encoding($value,"EUC-JP","EUC-JP"); とした場合 うまく文字列の文字コードの変換がおこなわれず 出力内容は文字化けします。 次に $str = mb_convert_encoding($value,"SJIS","SJIS"); とした場合 EUC-JPと同じく文字コード変換に失敗し 文字化けするだろうとおもいましたが おもいのほかブラウザの文字コードUTF-8のままで文字化けしていないのです。 これはどういう現象でしょうか? たとえば一つ目は UTF8で記述されたPHPファイルの文字列をそのままUTF-8として 変換されせるのですから、問題ないはずです。結果問題ありません。 二つ目は UTF-8でかかれたPHPファイルの文字列をEUC-JPでかかれたファイルとして EUC-JPという文字コードに変換しなさいという命令ですよね? これは思う通りにいかなくて文字化けした文字列が出力されるのはわかるのですが 三つ目はUTF8で記述された文字列をSHIFT-JISとしてSHIFT-JISに変換しようとしているにも かかわらず、結果問題なくブラウザのUTF-8で文字列と表示されてしまいます。 これはいったいどういう事なのでしょうか? これが仮に $str = mb_convert_encoding($value,"SJIS","UTF-8"); なら話は簡単んです。 UTF-8で記述されたファイルの任意の文字列を UTF8からSJISに変換しようとしているのですから問題なく SHIFT-JISでエンコーディングされた文字列が帰ってくるはずです。 こ乃原因をご存知のかたよろしくご教授ください。 お願い致します。

    • ベストアンサー
    • PHP
  • JAVAによるテキストファイルの読込み

    Javaでテキストファイルの読込みを行いたいのですが、 SJIS、EUC、UTFなど代表的な文字コードは問題なく読込み、 バイナリファイルを読込んだ場合、エラーと判定したいのですが なにか良い方法はありませんか? 例えば、ファイルの文字コードを取得したときに ファイルがバイナリファイルか否かを判定することは可能でしょうか。

    • ベストアンサー
    • Java
  • UNIXなどで、テキストファイルの文字コードを、utf-8 → S-J

    UNIXなどで、テキストファイルの文字コードを、utf-8 → S-JIS に変換するコマンドがあれば教えてください。

  • vimの環境設定について

    http://www.kawaz.jp/pukiwiki/?vim#cb691f26 こちらのサイトを見ながら(というか自動認識の部分をコピペ)で文字コードの自動認識はクリアでき,文字化けは起こりませんでした.ですが,新しくファイルをvim上で作るときにまでそれが影響してきて*.texファイルはEUC-JPでコンパイルしないといけないのにUTF-8になってしまいます.:set fileenc~でEUCを指定しても結局はUTF-8で開かれてしまいます.しかもfile2でそのtexファイルの文字コードを確認してもASCIIとなりnkfで変換しても変わりませんでした. *質問:文字コードASCIIはnkfで変換できないのでしょうか? *質問:どうにか自動認識を保ったまま*.texファイルをeuc-jpで保存する方法はありませんか?

  • euctosj を使用してファイル名を変換する

    Solaris8上で、ファイル名をEUC_JPからShift_JISに変換しようと思っています。euctosjというコマンドがあるのを確認したのですが、このコマンドを使用してファイル名を変換することはできないのでしょうか。ご存知のかた、いらっしゃいましたらよろしくお願いします。

  • EUC_JPにない文字のshiftJISからの変換処理

    http://okwave.jp/qa757480.html ここにある質問と同じ状況になっています。 shiftJISの文字列をEUC_JPに変換したところ、 invalid byte sequence for encoding "EUC_JP" というエラーが出ました。 EUCにない文字なので変換が出来ないのはわかるのですが、ではその場合どのような処理が妥当でしょうか。 テキストデータから文字を取り込んでいるので最初から文字をEUC_JPやUTF-8で文字列を作ることができません。 EUCにない文字はどうやっても変換できないので代替文字もしくは記号を置くことで解決しようかと思ったのですが、そうするとどの文字がshiftJISにあってEUCにないかの一覧がないとどうしようもないかと思います。 この場合はどうするのが良いかアドバイスいただけませんでしょうか。

    • ベストアンサー
    • Perl
  • Solarisの文字コードについて

    Solaris8をインストールしました。 文字コードはEUCになっていると思いますが、テキストファイルを EUCでSolaris8サーバにアップロードしてもviで参照すると文字化けしてしまいます。 (1)システムの文字コードの確認方法を教えて下さい。 (2)文字コードをSJISからEUCに変換する方法を教えて下さい。 (nkfコマンドを打ってもcommand not foundになります。。標準ではインストールされないのでしょうか?) p.s OSのインストール時、下記のように入力しました。 ・Select a Locale →0.Japanese EUC(ja) ・ソフトウェアの対応地域 →アジア・Japanese EUC(ja)、Japanese PC Kanji(ja_JP.PCK)、Japanese UTF-8(ja_JP.UTF-8)

  • もともとEUCだったテキストファイルを

    もともとEUCだったテキストファイルを 間違えてS-JISで保存しちゃったみたいなのです。 秀丸で文字コード変換しなおして開いても元にもどらなかったんです。 なにか直す方法知ってる方いませんか? よろしくお願いします!

  • utf-8のマシンでsjisのデータファイルを読込み、eucでファイルに出力する方法

    utf-8のLinuxマシンで、sjis(改行コードCR+LF)のデータファイルを読込み、euc-jp(改行コードLF)でファイルに出力したいのですが、どのようにすればよいでしょうか。プログラム実行前後に入出力ファイルを直接コード変換することは考えておらず、全て一つのプログラム内でやりたいと考えています。 &jcode'convertで変換するのかなと思っているのですが、読込み時・書き込み時のどちらでやるべきなのか、あるいは両方やるべきなのか分かりません。データには、「・」「I,II」などの特殊文字(?)が含まれているので、それらの文字で問題が起きないかなどもちょっと心配です。 また、&jcode'convertでeucに変換すれば、改行コードも一緒にCR+LFからLFに変換されるものでしょうか。 文字コードのことがよく分かっていないので、的外れな質問になっているかもしれませんが、ご教示願います。

    • ベストアンサー
    • Perl