2009-11-20 2 views
0

Вот заявление, которое я бегу:Grep не работает корректно с .as файлов

grep -i -H 'ConfigureControls' *.as 

Обратите внимание, что я принуждая имена файлов с -H флагом.

Что я получаю обратно есть:

}  } trac} } this.chairControls.debug.appendText("\nAn error occured when communicating with server:\n" + err.message);l);his.chairXML.storeResult; 
{ackage {ublic cpublic frequest = new URLRequest(this.chairXML.store);to: " + this.chairXML.store;noll 

Нет файла, а текст также выглядит очень искажены (package стал {ackage, к примеру). Что происходит?

+0

Могли бы вы вставить пример вашего '.as' файла – Elalfer

+0

Он отлично работает для меня ' Grep --version GNU GREP 2.5.4' переменных Проверка среды. – Elalfer

ответ

2

Похоже, что вы используете grepping old Mac (OS < = 9) CR-файлы стиля eol на машине, ожидающей LF (unix) или CR/LF (DOS/Windows).

В этом случае это нормально работает grepping, но ваш терминал интерпретирует строки новой строки CR как «переместить курсор к началу строки», не переходя к пустой строке при отображении.

Если вы на Unix-подобной системе (OSX должен работать слишком), попробуйте преобразования Eol стиль:

grep 'pattern' file | tr '\r' '\n' 

Если это работает, вы можете конвертировать Eol стиль файла с:

tr '\r' '\n' <file.as> fixed-file.as 
+0

Есть ли какое-либо исправление, кроме входа в каждый файл и изменения окончаний строки? –

+0

У большинства современных редакторов есть настройки для этого. Убедитесь, что он сохраняется как Unix (или DOS четный). http://en.wikipedia.org/wiki/Ньюлайн имеет дополнительную информацию и предлагает программы конверсии. – scribble

+0

Кроме того, если вы передаете файлы из системы, отличной от Unix, в Unix с FTP, убедитесь, что ваш клиент настроен на передачу в режиме ASCII для файлов .as, он должен автоматически преобразовывать стиль eol. – scribble

Смежные вопросы