Text-Fu [Часть 4]

Обо всех ошибках пишите в комментариях

Содержание:

Часть 1

Часть 2

Часть 3

10. expand and unexpand (расширить и уменьшить)

В нашем уроке про команду cut мы сделали файл sample.txt, который содержит tab. Обычно TABы легко различить, но некоторые текстовые файлы не показывают это хорошо. TABы в тексте могут быть нежелательным для нас отступом. Чтобы изменить TABы на пробелы, используйте команду expand (расширить).

$ expand sample.txt

Теперь все TABы сконвертированы в пробелы.

Также как и с expand, мы можем конвертировать пробелы в TABы с командой unexpand:

$ unexpand sample.txt

Упражнения:

Что произойдет, если вы напишите expand без ввода файла?

11. join and split (соединить, разъединить)

Команда join позволяет вам соединять несколько файлов вместе по главному полю.

Давайте скажем, что у меня есть два файла, которые я хочу объединить вместе:

Заметили, как объединились мои файлы? Они объеденились вместе по первому полю, по-умолчанию, также поля должны быть одинаковыми, если нет, вы можете сортирвать их, в этом случае файлы соединены по 1, 2, 3.

Как бы мы объединили эти файлы?

file1.txt
John 1
Jane 2
Mary 3


file2.txt
1 Doe
2 Doe
3 Sue

Чтобы объединить эти файлы, вам нужно указать, какие поля вы соединяете, в этом случае мы хотим взять поле 2 в file1.txt и поле 1 в file2.txt, тепер команда выглядит так:

-1 относится к file1.txt, а -2 к file2.txt. Довольно опрятно. Вы также можете разделить файл выше на несколько других с командой split:

$ split somefile

Это разделит файл на несколько других, по умолчанию команда будет разделять файлы, как только они достигнут ограничения в 1000 строк. По-умолчанию файлы названы x**.

Упражнения:

Соедините два файла с разными номерами в строках в каждом файле, что происходит?

12. sort (сортировать)

Команда sort (сортировать) полезна для сортировки строк.

Вы также можете сделать обратную сортировку:

$ sort -r file1.txt
elephant
dog
cow
cat
bird

А также сортировать по числовым значениям:

$ sort -n file1.txt
bird
cat
cow
dog

elephant

GNU/Linux

1K постов15.5K подписчиков

Добавить пост

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

Очень частая задача - чтение огромных лог файлов.

Классическая проблема в винде - чтение гигабайтных txt файлов. решают проблему  с помощью ms-word . а как еще?

но если есть линукс... читаем лог не целиком, а кусками(нужный кусок ищем по дате записи.)

Думаю можно это упомянуть

раскрыть ветку (6)
Автор поста оценил этот комментарий
Читайте часть 3, про tail) http://pikabu.ru/story/textfu_chast_3_4281398
раскрыть ветку (5)
Автор поста оценил этот комментарий
Ясно. Сорян. Я бегло просматривал 3 часть, видать проморгал этот момент.
раскрыть ветку (4)
Автор поста оценил этот комментарий
Видать, стоит делать части покороче...
раскрыть ветку (3)
Автор поста оценил этот комментарий

нет просто я не сильно внимательно читал, т к все знакомо более менее. теперь вопрос - как грамотно прочитать гигабайтные файлы в винде(((( во всей конотре ни одного линукса нет(

раскрыть ветку (2)
Автор поста оценил этот комментарий

cygwin

Автор поста оценил этот комментарий
Что на счет live cd? Также в Windows powershell есть команда Get-Content
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку