2. Мониторинг сайта, постановку задачи см. здесь http://sysadminonline.ru/prostoy-skript-mo...inga-veb-sayta/ (там же и ответ

Модераторы: /dev/random, Модераторы разделов
Код: Выделить всё
sed 'что ищем в тексте и как исправляем' -i *.php
Код: Выделить всё
diesel@debian:/tmp/tmpc$ ls
file -file
diesel@debian:/tmp/tmpc$ for i in *; do sed -i -r -e '/^$/d' "$i"; done
sed: couldn't open file ile: No such file or directory
diesel@debian:/tmp/tmpc$ for i in `ls`; do sed -i -r -e '/^$/d' "$i"; done
sed: couldn't open file ile: No such file or directory
Код: Выделить всё
diesel@debian:/tmp/tmpc$ for i in *; do sed -i -r -e '/^$/d' -- "$i"; done
diesel@debian:/tmp/tmpc$ for i in `ls`; do sed -i -r -e '/^$/d' -- "$i"; done
diesel@debian:/tmp/tmpc$
Код: Выделить всё
diesel@debian:/tmp/tmpc$ find -type f -exec sed -i -r -e '/^$/d' {} \;
diesel@debian:/tmp/tmpc$
butch писал(а): ↑19.05.2009 12:03
замечаетльный пример из часто встречаемых ошибок (самый первый)
кнчно можно использовать и ls =) но вот только нужно очень многие вещи предусмотреть
Shell
$ ls -1
Алла
-Зина
Лена
Маша
Наташа или Натали
Яна
$ ls | sed = | sed -r 'N; s/[] ()*]/\\&/g; s/([0-9]+)\n(.+)/\2 \1_\2/; s/^-/-- -/; s/.+/mv &/e'
$ ls -1
1_Алла
2_-Зина
3_Лена
4_Маша
5_Наташа или Натали
6_Яна
Shell
$ ll
итого 0
-rw-r--r-- 1 doc doc 0 2009-05-19 13:33
-rw-r--r-- 1 doc doc 0 2009-05-19 13:33 *
На случай, если встретится:
bash+GNU tools
$ touch $'\e[31mцветной\e[0m файл с %s, \'" и\nв две строки'
$ ls
$ ls --quoting-style=c |sed 's/%/%%/g' |while read -r n; do arg=$(eval printf $n); echo "$arg"; done
watashiwa_daredeska писал(а): ↑19.05.2009 13:30На случай, если встретится:bash+GNU tools
$ touch $'\e[31mцветной\e[0m файл с %s, \'" и\nв две строки' $ ls $ ls --quoting-style=c |sed 's/%/%%/g' |while read -r n; do arg=$(eval printf $n); echo "$arg"; done
watashiwa_darede... писал(а): ↑19.05.2009 13:30touch $'\e[31mцветной\e[0m файл с %s, \'" и\nв две строки'
и кроме '/'. Идея была в том, чтобы показать, что можно работать с файлами достаточно универсально, не закладывая в скрипты грабли в виде неумения работать с пробелами, кавычками и прочими спец. символами.
У вас слишком сложно...watashiwa_darede... писал(а): ↑19.05.2009 15:13и кроме '/'. Идея была в том, чтобы показать, что можно работать с файлами достаточно универсально, не закладывая в скрипты грабли в виде неумения работать с пробелами, кавычками и прочими спец. символами.
грабли можно обходить по разному. имя - это всего-лишь атрибут файла, его используют для массовой обработки файлов, с одним файлом можно и без имени работать, по inode к примеру. Ничего странного, если мы пытаемся использовать кривые атрибуты, в конце концов, ни один из ваших скриптов не прочитает файл с правами 000, вы же не считаете это недостатком скрипта? Так и с именем - если кто-то или что-то создаёт такие файлы, то нужно либо отказаться от этого, либо настроить это, либо переименовывать такое, как выше было написано watashiwa_darede... или по inode.