参考资料
⏹有如下文件,business-content-1.csv
業務,時間,会社,コスト
販売,2025,JMW会社,1000円
中古,2024,清掃会社,2000円
看病,2023,病院小林,1566円
ゴミ回収,2025,長野県回収,7853円
テレビ改装,2589,東京都テレビ,4454152円
⏹由下图可见
我们直接使用cat
命令打开文件的话,可以看到终端窗口出现了乱码。
我们使用的是Tera Term
连接工具,默认编码为UTF-8格式,而csv文本为Shift-JIS格式,所以出现了乱码。
若我们将终端的显示编码改为Shift-JIS格式之后,再次cat,可以看到文件显示正常。
若不允许修改终端显示code?使用nkf命令
即可解决此问题。
nkf(Network Kanji Filter)命令,是Linux和其他类Unix操作系统中的一个命令行工具,用于进行字符编码转换。它主要用于在不同字符编码之间转换文本,以及进行换行符的转换。
⏹输出配置项
短配置项 | 長配置项 | 意味 |
---|---|---|
-j | --jis |
JISコードを出力する(デフォルト) |
-e | --euc |
EUCコードを出力する |
-s | --sjis |
シフトJISコードを出力する |
-w,-w80 | UTF-8コードを出力する(BOMなし) | |
-w8 | UTF-8コードを出力する(BOM有り) | |
-w16,-w16B0 | UTF-16コードを出力する(ビッグエンディアン/BOMなし) | |
-w16B | UTF-16コードを出力する(ビッグエンディアン/BOM有り) | |
-w16L | UTF-16コードを出力する(リトルエンディアン/BOM有り) | |
-w16L0 | UTF-16コードを出力する(リトルエンディアン/BOMなし) | |
-I | ISO-2022-JP以外の漢字コードを「〓(げた記号)」に変換する | |
--oc 文字コード |
出力する文字コードを「EUC-JP」や「UTF-8」などで指定する | |
--overwrite |
ファイルを変換して上書きする |
⏹换行符配置项
短配置项 | 長配置项 | 意味 |
---|---|---|
-d,-Lu | 改行をLFにする(UNIX系) | |
-c,-Lw | 改行をCRLFにする(Windows系) | |
-Lm | 改行をCRにする(OS Xより前のmac OS系) |
nkf --guess ./business-content-1.csv
# Shift_JIS (LF)
cat ./business-content-1.csv | head -3 | nkf -w8
head -3 ./business-content-1.csv | nkf -w8
業務,時間,会社,コスト
販売,2025,JMW会社,1000円
中古,2024,清掃会社,2000円