Консольные полезности 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/[email protected]/' 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
Комментарии: