Гибкость юникс систем будет бесконечно удивлять пользователей. В этой заметке я начну собирать наиболее востребованные команды shell

Вывести все файлы, в которых есть вхождение строки
ключ -H выводит имя файла
ключ -n выводит имя строки, на которой было найдено совпадение

find /etc -type f -exec grep -Hn "root" {} \;

Рекурсивно выкачать все папки с ftp-сервера

wget -rq -P /mnt/site/ ftp://login:password@ftp.site.ru

Слежение за файлами в режиме online: новые строки (добавляемые в конец файла другим процессом) автоматически выводятся на экран в реальном времени. Это особенно удобно для слежения за логами.

tail -f /var/log/messages

или с ограниченными условиями

tail -f /var/log/message | grep alert

Получить число строк в файле

wc -l /etc/passwd

Удалить символы ^M в файле

sed 's/'"$(printf '\015')"'$//g' имя_файла

или

perl -pi -e 's/\r\n/\n/g' file.txt

Вывод определенного значния из листинга

smartctl --all /dev/sda |grep ^194| awk '{print $10}'
Tagged with:  

3 Responses to Востребованные shell команды

  1. Дорогой товарищ Семёнушкин! Не сочтите за фамильярность, просто выручили. Спасибо за информацию!

  2. qqq:

    >Удалить символы ^M в файле
    >sed ‘s/'»$(printf ’15’)»‘$//g’ имя_файла
    Рискну предположить, что этим мы удалим не все символы ^M, а лишь находящиеся в конце строки.

  3. admin:

    Да, все верно ^M — перевод строки в windows (в регулярке \r\n), в то время как в Unix (\r).

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>