Linux и UNIX: программирование в shell. Руководство разработчика
вернуться

Тейнсли Дэвид

Шрифт:

$ cd /etc

$ ls | paste -d" " - - - -

init.d rc rc.local rc.sysinit rc0.d rc1.d rc2.d rc3.d rc4.d rc5–d rc6.d

Если же нужно отобразить список в одну колонку, воспользуйтесь такой командой:

$ ls | paste -

init. d

rc

rc.local

rc.sysinit

rc0.d

rc1.d

11.6. Разделение файла на части с помощью команды split

Команда split позволяет разделять крупные текстовые файлы на более мелкие, Это может оказаться удобным, например, при передаче файлов по сети. Общий формат команды split таков:

split [-размер_выходного_файла] входной_файл [префикс]

Первый параметр определяет количество строк, на которое нужно разбить файл. По умолчанию файл разбивается на фрагменты по 1000 строк. Если размер файла не кратен 1000, последний фрагмент будет содержать менее 1000 строк. Например, из файла, содержащего 2800 строк, в результате выполнения данной команды образуются три файла, включающих соответственно 1000, 1000 и 800 строк.

Имя каждого созданного файла представляется в формате от префикс[аа] до префикс[zz]. По умолчанию префиксом является буква 'x'. Таким образом, команда split создает такую последовательность файлов:

хаа, xab, … xzy, xzz

Если расположить файлы в алфавитном порядке и выполнить их последовательную конкатенацию, получим исходный файл.

Следующий пример поможет разъяснить сказанное. Допустим, имеется файл bigone.txt, содержащий 2800 строк. В результате выполнения команды split будут сформированы три выходных файла:

Имя файла Размер

xaa 1000

xab 1000

xac 800

Теперь рассмотрим, как изменить размер создаваемых файлов. Ниже показан файл split1, содержащий шесть строк:

$ cat split1

this ls line1

this ls line2

this ls line3

this ls line4

this ls line5

this ls line6

Для разделения его на фрагменты по две строки в каждом воспользуемся такой командой:

$ split -2 split1

Давайте проверим, что было создано (команда ls -lt сортирует список файлов по дате создания, а команда head отбирает из этого списка первые десять элементов):

$ ls -lt | head

total 205

– rw-r--r-- 1 dave admin 28 Apr 30 13:12 xaa

– rw-r--r-- 1 dave admin 28 Apr 30 13:12 xab

– rw-r--r-- 1 dave admin 28 Apr 30 13:12 xac

Исходный файл состоит из шести строк. В результате применения к нему команды split были сформированы три файла, содержащих по две строки каждый. Чтобы убедиться в правильности работы команды, рассмотрим содержимое файла хаc, который должен включать последние две строки:

$ cat xac

this ls line5

this ls line6

11.7. Заключение

В настоящей главе были рассмотрены различные стандартные утилиты (sort, unique, join, cut, paste и split, а также head и tail), имеющие отношение, главным образом, к сортировке, разделению и объединению текстовых файлов. Применение каждой из них иллюстрировалось многочисленными примерами, которые позволят вам сформировать четкое представление о возможностях этих утилит. Я надеюсь, что благодаря изложенным сведениям вы смогли пополнить свой багаж знаний об инструментах работы с текстом, имеющихся в UNIX и Linux.

ГЛАВА 12 Утилита tr

12.1. Применение утилиты tr

Утилита tr выполняет символьное преобразование путем подстановки или удаления символов из стандартного входного потока. Она часто применяется для удаления управляющих символов из файла или преобразования регистра символов. Как правило, утилите tr передаются две строки: первая строка содержит искомые символы, а вторая — те, на которые их следует заменить. При запуске команды устанавливается соответствие между символами обеих строк, а затем начинается преобразование.

В этой главе рассматриваются следующие темы:

• преобразование строчных символов в прописные;

• очистка содержимого файлов от управляющих символов;

• удаление пустых строк.

Формат утилиты tr с наиболее часто применяемыми параметрами таков:

tr -c -d -s ["строка1"] ["строка2"] входной_файл

где

– c Задает замену набора символов, указанных в строке1 их собственным дополнением при условии, что значение этих символов находится в диапазоне значений кодов ASCII -d Задает удаление во входном файле всех символов, указанных в строке1

  • Читать дальше
  • 1
  • ...
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • ...

Private-Bookers - русскоязычная библиотека для чтения онлайн. Здесь удобно открывать книги с телефона и ПК, возвращаться к сохраненной странице и держать любимые произведения под рукой. Материалы добавляются пользователями; если считаете, что ваши права нарушены, воспользуйтесь формой обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • help@private-bookers.win