フラワーアレンジメント教室ブルーム

コメント

改行コード変換


perl△-pe△'s/\r\n/\n/'△変換前ファイル△>変換後ファイル

Linuxの改行コードはlf(\n)です。改行コードの変換はnkfを使うことが多いのですが、Linuxによってはnkfがインストールされていないことも稀にあるので今回はperlで変換してみます。


改行コード変換は「perl -pe 's/\r\n/\n/' 変換前ファイル >変換後ファイル」


[server@localhost work]$
[server@localhost work]$ perl -pe 's/\r\n/\n/' sample-windows >sample-windows2
[server@localhost work]$

リダイレクト「>」で変換後ファイルが生成されるので、変換前後を確認してみます。


[server@localhost work]$
[server@localhost work]$ od -c sample-windows
0000000 343 203 227 343 203 255 343 202 260 343 203 251 343 203 240 350
0000020 250 200 350 252 236 343 201 253 343 202 210 343 201 243 343 201
0000040 246 343 201 257 \r \n 345 244 211 346 225 260 343 201 253 346
0000060 240 274 347 264 215 343 201 225 343 202 214 343 201 246 343 201
0000100 204 343 202 213 343 201 256 343 201 257 345 200 244 343 201 235
0000120 343 201 256 343 202 202 343 201 256 343 201 247 343 201 257 343
0000140 201 252 343 201 217 \r \n 345 256 237 343 201 257 345 200 244
0000160 343 201 256 343 203 235 343 202 244 343 203 263 343 202 277 343
0000200 201 247 343 201 202 343 202 213 343 201 250 343 201 204 343 201
0000220 206 350 250 200 350 252 236 343 202 202 343 201 202 343 202 212
0000240 343 201 276 343 201 231 343 200 202 \r \n \r \n
0000255
[server@localhost work]$

[server@localhost work]$
[server@localhost work]$ od -c sample-windows2
0000000 343 203 227 343 203 255 343 202 260 343 203 251 343 203 240 350
0000020 250 200 350 252 236 343 201 253 343 202 210 343 201 243 343 201
0000040 246 343 201 257 \n 345 244 211 346 225 260 343 201 253 346 240
0000060 274 347 264 215 343 201 225 343 202 214 343 201 246 343 201 204
0000100 343 202 213 343 201 256 343 201 257 345 200 244 343 201 235 343
0000120 201 256 343 202 202 343 201 256 343 201 247 343 201 257 343 201
0000140 252 343 201 217 \n 345 256 237 343 201 257 345 200 244 343 201
0000160 256 343 203 235 343 202 244 343 203 263 343 202 277 343 201 247
0000200 343 201 202 343 202 213 343 201 250 343 201 204 343 201 206 350
0000220 250 200 350 252 236 343 202 202 343 201 202 343 202 212 343 201
0000240 276 343 201 231 343 200 202 \n \n
0000251
[server@localhost work]$

変換前のsample-windowsはCRLF「\r\n」ですが、変換後のsample-windows2はLF「\n」に変換されていることが確認できました。