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 подписчиков

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

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

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

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

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий
Не поясните последний пример?
Спасибо, что стараетесь для нас.

P. S. Внутри мне грустно от того, что люди приобщаются к этому. Все прочитают эти туторы и я уже не буду выглядеть таким крутым с мало-мальским знанием вима и пары команд шелла. (Да, я такой 😈)
раскрыть ветку (8)
Автор поста оценил этот комментарий

Алфавит превращается в числовые значения, по которым производится сортировка. Проще говоря, сортировка по алфавиту

раскрыть ветку (7)
Автор поста оценил этот комментарий
Но ведь в последнем примере последние две строчки не по алфавиту...
раскрыть ветку (6)
1
Автор поста оценил этот комментарий

Посмотрел, моя ошибка, перепутал местами elephant и dog.

@Snipers, поменяй elephant и dog местами, там где я про сортировку по числовым значениям говорю

раскрыть ветку (4)
Автор поста оценил этот комментарий
Уу, на мне уже две замеченных ошибки, да я программист)))))
раскрыть ветку (3)
Автор поста оценил этот комментарий

:D

раскрыть ветку (2)
1
Автор поста оценил этот комментарий
Прочитала сообщения с телефона, а потом оно потерялось в толпе других, сейчас случайно вспомнила.


Проверь.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Теперь норм)
Автор поста оценил этот комментарий
Хм, да, действительно, вечером посмотрю подробнее...
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку