Удаление символов перевода каретки ^M

Версия для печатиОтправить другуPDF version

Блокнот

Довольно часто бывает так, что какой-то файл редактировался в каком-то из редакторов под управлением OS Windows, а потом отправлялся на сервер. В результате, когда пытаешься редактировать такой файл на сервере, он "рябит" символами конца строки DOS - ^M.

Работа с таким файлом усложняется. Пример такого файла:

# cat tmp.php

<?php^M
 require_once("DB.php");^M
^M
 class LiqPlay extends DB^M
 {^M
         protected $_mid=null;^M
         protected $_mpass=null;^M
         protected $_xml=null;^M
         protected $_connect=null;^M
         protected $_session=null;^M
         protected $_post=null;^M
         protected $_name="";^M
         protected $_code="";^M
         protected $_order="";^M
         protected $_stateSql="";^M
         protected $_arr=null;^M
^M
         public function __construct($data){^M
            if (!isset($this->url_api, $data)){^M
              die("Error in __construct()");^M
            }^M
            else{^M
                $this->_mid=$data['mid'];^M
                $this->_mpass=$data['mpass'];^M
                $this->_post=$_POST;^M
                $this->_session=$_SESSION;^M
                unset($data['mid'],$data['mpass']);^M
                $this->_arr=$data;^M
            }^M
         }^M
?>^M

Варианты обработки файла с заменой на символы перевода каретки:

  1. С помощью tr (tr -- translate characters):
    # tr -d '\015' < source_file > destination_file

     

  2. С помощью col (col -- filter reverse line feeds from input):
    # col -b < source_file > destination_file

     

Ваша оценка: Нет Средняя: 5 (3 голоса)

Вставай, Україно!

Литература