Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

кошка

The кошка В программе есть ряд интересных опций. Многие из них используются, чтобы лучше визуализировать текстовое содержимое. Одним из примеров является -A опция, которая используется для отображения непечатаемых символов в тексте. Бывают случаи, когда мы хотим знать, встроены ли управляющие символы в наш видимый в остальном текст. Наиболее распространенными из них являются символы табуляции (в отличие от пробелов) и символы возврата каретки, которые часто присутствуют как символы конца строки в текстовых файлах в стиле MS-DOS. Другой распространенной ситуацией является файл, содержащий строки текста с конечными пробелами.

Создадим тестовый файл, используя кошка как примитивный текстовый процессор. Для этого мы просто введем команду кошка (вместе с указанием файла для перенаправленного вывода) и введите наш текст, а затем Enter чтобы правильно закончить строку, затем Ctrl-d, чтобы указать кошка что мы достигли конца файла. В этом примере мы вводим начальный символ табуляции и следуем за строкой с некоторыми завершающими пробелами:



[я @ linuxbox ~] $ кошка> foo.txt

Быстрая, коричневая лиса, перепрыгнула через ленивого пса. [я @ linuxbox ~] $

[я @ linuxbox ~] $ кошка> foo.txt

Быстрая, коричневая лиса, перепрыгнула через ленивого пса. [я @ linuxbox ~] $


Далее мы будем использовать кошка с -A возможность отображения текста:


[я @ linuxbox ~] $ кошка -A foo.txt

↑ Быстрая коричневая лисица перепрыгнула через ленивого пса. $ [меня @ linuxbox ~] $

[я @ linuxbox ~] $ кошка -A foo.txt

↑ Быстрая коричневая лисица перепрыгнула через ленивого пса. $ [меня @ linuxbox ~] $


Как мы видим в результатах, символ табуляции в нашем тексте представлен как ^I. Это обычное обозначение, которое означает «Control-I», что, как оказалось, совпадает с символом табуляции. Мы также видим, что $ появляется в истинном конце строки, указывая на то, что в нашем тексте есть завершающие пробелы.


изображение

Текст MS-DOS против. Текст в Unix

Одна из причин, по которой вы можете захотеть использовать кошка искать непечатаемые символы в тексте - значит обнаруживать скрытые символы возврата каретки. Откуда берутся скрытые возвраты каретки? DOS и Windows! Unix и DOS по-разному определяют конец строки в текстовых файлах. Unix завершает строку символом перевода строки (ASCII 10), в то время как MS-DOS и его производные используют возврат каретки последовательности (ASCII 13) и перевод строки для завершения каждой строки текста.

Есть несколько способов конвертировать файлы из формата DOS в формат Unix. Во многих системах Linux есть программы, называемые dos2unix и unix2dos, который может конвертировать текстовые файлы в формат DOS и обратно. Однако, если у вас нет dos2u-nix в вашей системе, не волнуйтесь. Процесс преобразования текста из формата DOS в формат Unix очень прост; он просто включает удаление недопустимых возвратов вагона. Это легко сделать с помощью пары программ, обсуждаемых далее в этой главе.


cat также имеет параметры, которые используются для изменения текста. Двумя наиболее известными являются -n, который нумерует строки, и -s, который подавляет вывод нескольких пустых строк. Таким образом мы можем продемонстрировать:


[я @ linuxbox ~] $ кошка> foo.txt

Быстрая коричневая лиса

[я @ linuxbox ~] $ кошка> foo.txt

Быстрая коричневая лиса


перепрыгнул через ленивую собаку.

[я @ linuxbox ~] $ кошка -ns foo.txt

перепрыгнул через ленивую собаку.

[я @ linuxbox ~] $ кошка -ns foo.txt


1

2

3

1

2

3


[я @ linuxbox ~] $

[я @ linuxbox ~] $


изображение

Быстрая коричневая лиса

Быстрая коричневая лиса

перепрыгнул через ленивую собаку.

перепрыгнул через ленивую собаку.

В этом примере мы создаем новую версию нашего foo.txt тестовый файл, содержащий две строки текста, разделенные двумя пустыми строками. После обработки кошка с -нс параметры, лишняя пустая строка удаляется, а оставшиеся строки нумеруются. Хотя это небольшой процесс для текста, это процесс.


Лучшие облачные вычисления для ОС в OnWorks: