Comments 16
И, как по мне, хоть уже тысячи раз говорили про всевозможные bash команды, освежить в памяти всегда полезно. Тем более что часто возвращаюсь к различным публикациям на хабре. Огромное спасибо за перевод!
Тоже добавлю в копилочку неплохую шпаргалку: https://learnxinyminutes.com/docs/awk/
Для создания файла в командной строке используется команда
touch
Формально говоря, утилита touch не для создания файла, а обновления его timestamp. То что она создает файл это её дополнительная фича. Ее может и не быть в системе, или могут отсутствовать права на ее запуск.
man touch
touch - change file timestamps
создать можно перенаправлением вывода
> newfile.txt
Добавлю из своей практики полезные кейсы.
Ключом -F можно указывать разделитель столбцов:awk -F '*' '{print $1}'
Также полезно применять арифметические операторы к переменным. Вывод предпоследнего столбца:awk '{print $NF-1}'
А также пару крутых однострочников которые показывают всю прелесть awk с другими команднами.
Вывод потребления памяти с сортировкой из ps:ps axo rss,comm,pid | awk '{ proc_list[
Потребление SWAP:1/=1024;printf "%.0fMB\t",$1}{print $2}'
for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | head
Таблички в текстовых файликах по колоночкам? Серьёзно? Почему хотя бы не csv или тот же jsonl?
Почему хотя бы не csv или тот же jsonl?
Выхлоп почти любой команды достаточно просто преобразовать в вид, понятный awk. А вот преобразовать произвольный текст в json не всегда просто.
Часто команды в терминале выдают табличный вывод - ls, lsof, ps и так далее
Как расшифровывается AWK?
Команда awk – примеры использования в Linux и Unix