
Ubuntu日本語フォーラム

ログインしていません。
よろしくお願いします。
テキストファイルの中身に全角数字でデータが書かれています。これを、sedで全て半角にしたいのですが、うまくできません。次のようなコマンドを試みてみました。
sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/' orig.txt > new.txt
結果として、new.txtはできるのですが、中身の変換は行なわれず、もとのファイルの内容が同じままです。
解決法がわかりましたら、どうぞよろしくおねがいします。
オフライン
元のファイルの文字コードはutf-8ですか?
自分の環境で確認したところutf-8では正しく動作し、shift-jisやeuc-jpでは正しく動作しませんでした。
テキストエディタで保存時に文字コードを指定できるので、保存しなおして試してみて下さい。
端末側の文字コードをファイルに合わせればうまくいきそうなのですが、やってみたところダメでした。
オフライン
さっそくありがとうございます。いただいたアドバイスにしたがって文字コードをチェックしなおしたところ解決いたしました。
もとのeuc-jpのファイルを、iconvで変換しておいたつもりだったのですが、それがうまくいっていなかったのが原因でした。
たいへんありがとうございました。急いでいたので非常にたすかりました。
オフライン