Консольные полезности 6

Переименовать файл короткой командой:

mv foo.{old,new}

Показать количество НЕуспешных запросов (не 2хх, 3хх HTTP коды ответа)

awk '$9!~/^[23]/{print $4}' access_log | cut -c1-12 | uniq -c

Создать каталог и сразу перейти в него

mkdir dir && cd $_

Запустить скрипт из крона только если он еще не работает

*/3 * * * * if [[ -z $(pgrep offlineimap) ]]; then offlineimap -u quiet; fi

Проверить как давно работает процесс

ps -p PID -o pid,cmd,etime

scp не несколько удаленных хостов

parallel -j0 scp file.txt {}:/dstDir ::: user@srv1 user@srv2

Вывод dmesg в режиме реального времени и в "человеческом" виде (цвет, даты и т.п.)

dmesg -wH

Ого файла

sed '9417q;d' dbdump.sql

Текущее время в UTC:

date -u

Отцензурировать все email в report.txt

sed -r -i 's/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[a-z]{2,30}\b/xxx@yyy.zzz/' report.txt

wc имеет опции для подсчета символов, слов или строк:

wc -c
wc -w
wc -l

Объединить несколько pdf в один для печати

convert 1.pdf 2.pdf 3.pdf all.pdf

Суммировать числа из третьего столбца файла data.txt

awk '{s+=$3} END {print s}' data.txt

Вывести самую длинную строку из файла

awk 'length > max { max=length;maxline=$0 } END { print maxline; }' quotes.txt

Отсортировать вывод df, оставив заголовок вверху

df -hP | awk 'NR==1;NR>1{print|"sort -k5rn"}'

Разделить файл на несколько по 50 строк

split --lines=50 foo.txt

Проверить какая память установлена в компьютере не открывая его

dmidecode -t 17 
lshw -short -C memory


Comments !