改行の変換¶
LF to CRLF¶
perlが一番簡単だった
下記は省略
- nkf
- unix2dos
- dos2unix
perl -pe 's/\n/\r\n/g' lf.txt > p.txt
sed -e "s/$/\r/g" lf.txt > s.txt
awk '{sub(/$/, "\r"); print}' lf.txt > a1.txt
awk '{print $0 "\r"}' lf.txt > a2.txt
ruby -pe 'gsub(/\\n/, "\r")' lf.txt > r.txt
追記¶
Qiitaコメントより、awkの場合の簡潔に変換する方法を教えてもらいました。これでGitBashでawk処理したあとの改行に悩まされなくなりました。
AWKだと、RS (input record separator) や ORS (output record separator) を使うと汎用性が高いかも。
awk -v ORS='\r\n' '{print}' < lf.txt > crlf.txt
awk -v RS='\r\n' '{print}' < crlf.txt > lf.txt
awk -v RS='\r' '{print}' < cr.txt > lf.txt
awk -v RS='\r' -v ORS='\r\n' '{print}' < cr.txt > crlf.txt