Linux: работа с текстом (fmt, sed, awk, tr, cut, cat/tac, tee, column, uniq, sort)

GREP в отдельной статье

fmt
  • примеры есть в cheat.sh
  • вариаций форматирования много

Форматирование данных на входе – к примеру по умолчанию fmt осуществит форматирование, которое приведет к лучшему чтению:

    • объединение слов в одну строку если слов мало в каждой строке
    • или наоборот, вместо одной длиной строки сделает несколько коротких
root@serv:~# cat >sw
Hello
world
and
not
world
root@serv:~# fmt sw
Hello world and not world

root@spr:~# cat >sw
Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world
root@spr:~# fmt sw
Hello world and not world Hello world and not 
world Hello world and not world Hello world 
and not world Hello world and not world 
Hello world and not world


tr ; CUT
  • The cut utility cuts out selected portions of each line (as specified by list) from each file and writes them to the standard output
# Print a range of each line with a specific delimiter:
command | cut --delimiter="," --fields=1

# Print a specific character/field range of each line:
command | cut --characters|fields=1|1,10|1-10|1-|-10

Подмена всех пробелов (в том числе повторяющихся) на одну запятую с использованием tr и опции -s

 -s Squeeze multiple occurrences of the characters listed in the last operand (either string1 or string2) in the input into a single instance of the character.


Читать дальше

Linux: инструменты компрессии и архивации (zip/gzip/bzip, tar/7zip/7zz)

Задачи архивации и сжатия делаются зачастую вместе для создания ужатых архивов ряда файлов. Пример чаще всего используемой мной команды (удаление исходных файлов, создание tar архива и компрессия gzip):
tar --remove-files -czf logs.tgz logs/
Создание таких ужатых архивов имеет два основных плюса: сохранение объема на носителе и более быстрое копирование на удаленную систему.


Читать дальше

Vim теория и практика использования

  • Gray at the temples and in need of reading glasses, the middle-aged Vi (pronounced vee-eye) editor, released in 1976, is still a system administrator’s best friend.
  • Чаще всего при запуске vi (утилита еще со времен UNIX) запускается по факту vim (VI imporoved) за счет alias – напр.


Читать дальше

Editors и IDE (ee, mcedit, nano; google docs, office 360; gedit, vs code, sublime, atom; pycharm, rubymine)

  • При запуске утилит (например crontab -e, vipw, vigr), которые вызывают системный редактор кода, может потребоваться выбор этого редактора при первом запуске, при последующем будет запускаться то, что выбрано. Изменить можно по select-editor
# vipw
Select an editor. To change later, run 'select-editor'.


Читать дальше

cd

cd – используется для перехода в папку, по простой команде cd можно перейти в домашнюю папку (можно добавить cd $HOME)

cd /usr/var/tftp/ - перейти в директорию /usr/var/tftp/ относительно корневой

cd abc - перейти в папку уровнем выше abc относительно текущей

CD является командой, встроенной в bash shell (shell builtin), а не отдельной утилитой.

Читать дальше

wc

wc (word count) – показывает количество строк (опция –l), количество слов/промежутков без пробелов (–w) и общее количество символов в тексте (–с).

~$ cat >sw
first string
second string
^C
~$ wc sw
 2 4 27 sw
~$ wc -l sw
2 sw
~$ wc -w sw
4 sw
~$ wc -c sw
27 sw

wc sw sw2 – можно использовать на нескольких файлах подряд.

Читать дальше

Special characters

~, $HOME – эквиваленты перехода в home директорию текущего юзера. Если указать после тильды имя пользователя можно использовать тильду и для других пользователей.

~$ ls ~username

– для переключения в предыдущую директорию

~$ cd bin
~/bin$ cd -
/home/admin
~$ cd -
/home/admin/bin

..

Читать дальше

ls опции и использование

ls – показать содержимое текущей директории, типа dir в Windows

ls /var/log/anaconda/ – показать содержимое папки /var/log/anaconda/

Опции ls
–a – показывает скрытые файлы, название которых начинается на точку.
–l – показывает атрибуты файлов/папок (тип, разрешения, количество ссылок, владелец, группа, размер, дата и время модификации, имя файла) в колонках.


Читать дальше