改行コードの違い
改行コードの違い
3文字の文字列が複数行あるファイルを読み込んでそれぞれの文字列に対して処理をするスクリプトをかきました。
とても単純なタスク。こんなの。
#/bin/bash for i in $(cat ./hoge.txt) do echo $i →ここでホントはもっと処理が入る。 done
動かすと、上記のようなechoではちゃんと動作する。
で本来はこのスクリプトでそれぞれの行に対応するもっとカラムが多いファイルを作るんです。
こんなデータ
aaa hogehoge fugafuga bbb mogamoga piyopiyo ccc donbarako donbrako
でもこれがちゃんと出来ない。なんでた。
上記のスクリプトのechoのところを、作成した目的ファイルに対してgrepをかけてみてもヒットしなかったりする。
grep $i ./objectfile
うーんなんでだろ。echoじゃちゃんとでてくるんだけど悩むこと1時間。
結局は最初の複数行あるファイルの改行コードが期待していたものとは違ったことが原因でした。
nkfで変換して解決。
# nkf -Lu ./hoge.txt > hogehoge.txt
めんどうな。