Mar 18, 2023

文字コードをiconvで変換する

一昨日書いた手順の、
1. まず文字コードがshift-jisだったので、utf-8に変換する。

chatGPTへの質問:bashで、カレントディレクトリのすべてのファイルの文字コードをutf-8にする方法を教えてください。その際、新たにディレクトリを作り、文字コードを変換したすべてのファイル名前にプレフィックスをつけて、そのディレクトリに収めたいです。
--------------------------------
#!/bin/bash
mkdir converted_files   # 新しいディレクトリを作成する
for file in *   # カレントディレクトリ内のすべてのファイルに対して繰り返す
do
if [-f"$file"]   # ファイルの場合のみ処理を行う
then
iconv -f $(file-b--mime-encoding"$file")-tutf-8"$file">"converted_files/utf8_$file"   # 文字コードをUTF-8に変換し、プレフィックスをつけたファイル名で新しいディレクトリに保存する
fi
done
--------------------------------


chatGPTの説明:このスクリプトでは、iconvコマンドを使用して文字コードを変換します。また、ファイルの文字コードを判定するために、fileコマンドを使用しています。最後に、変換後のファイルを保存するディレクトリを作成し、プレフィックスをつけてファイルを保存しています。
補足:最初上のコードでうまくいかなかった感じ? だったので、-tの前に「-f SJIS」を加えてうまくいった。でも、いいかげんにやっているので、上のコードを使うときには注意してください。ぼくがやったときには、うまくいって、ぜんぶutf-8に変換できた。
(コピー時、コードのインデントが汚なくなったので、コードを使う場合は、上と同じような質問をchatGPTにして、結果をコピーしてください。上のコードをコピーして使う場合は、空白がないところがあります。下の画像の結果を見て挿入してください)

23_03_18a

Posted at 20:12 in n/a | WriteBacks (0) | Edit
WriteBacks
TrackBack ping me at
http://haizara.net/~shimirin/blosxom/blosxom.cgi/20230318201013.trackback
Post a comment

writeback message: Ready to post a comment.













Captcha:
To prevent comment spam, please retype the characters in this image:

Enter the text here: