複数のUTF-8ファイルからBOMを一括削除(Linux)

公開日:2019-08-14
最終更新:2019-08-14

BOMとは

バイトオーダーマーク(Byte Order Mark)
MacとWindows間でのデータのやりとりでBOMが必要だったらしいが、
今はほとんど必要なくなりUTF-8にくっついて文字化けしたりするので
BOMは取ったほうがいい

Linux上で複数のUTF-8ファイルからBOMを一括削除したい

for文内でviの-cオプションを利用し、一括でBOMを取り除く
「wq!」としているのは読み取り専用の場合でも対応可能とするため

$ for i in $(ls *.txt); do vi -c "set nobomb" -c wq! ${i};done  

BOMの有無を確認

BOMの有無はfileコマンドで確認
BOM付きの場合、
UTF-8文字コードかつ(with BOM)と表示される

$ file *.txt  
test.txt:  UTF-8 Unicode (with BOM) text  
test2.txt: UTF-8 Unicode (with BOM) text  
test3.txt: UTF-8 Unicode (with BOM) text  
test4.txt: UTF-8 Unicode (with BOM) text  
test5.txt: UTF-8 Unicode (with BOM) text  

・BOM無しの場合、
テキスト内容が英語のみの場合は文字コードがASXII、
テキスト内容に日本語が含まれる場合は文字コードがUTF-8

$ file *.txt  
test.txt:  ASCII text  
test2.txt: ASCII text  
test3.txt: ASCII text  
test4.txt: ASCII text  
test5.txt: ASCII text  
記事が少しでもいいなと思ったらクラップを送ってみよう!
0
+1
シンプルにpowershell

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする