Есть директория mei с 5-ю файлами и одной поддиректорией:
sasha@zenon2:~/Documents/papers$ ls -l mei total 2860 -rw------- 1 sasha sasha 265621 2006-12-04 15:39 article-12-2004-5.pdf -rw------- 1 sasha sasha 505856 2005-09-14 14:11 control2005_3.doc drwxr-xr-x 3 sasha sasha 4096 2008-06-20 23:17 diss -rw------- 1 sasha sasha 690688 2004-05-27 13:48 exponenta.doc -rw------- 1 sasha sasha 1084416 2005-06-01 15:20 ivanovo.doc -rw------- 1 sasha sasha 351216 2006-12-11 11:38 teploen_2006_06.pdf
Надо подсчитать число файлов. Пробуем «начинается на что угодно, кроме d (directory)»:
sasha@zenon2:~/Documents/papers$ ls -l mei | grep -c ^[^d] 6
Лишку, т.к. посчитал и строку «total 2860″. Пробуем кроме «d» или «t»
sasha@zenon2:~/Documents/papers$ ls -l mei | grep -c ^[^dt] 5
Правильно, но лучше, начинается только с «-»:
sasha@zenon2:~/Documents/papers$ ls -l mei | grep -c ^[-] 5
Теперь, есть текстовый файл public.txt со списком статей (каждая начинается с * и номера):
sasha@zenon2:~/Documents/papers$ grep ^*[0-9] public.txt *12. Технологии искусственного интеллекта в задачах диагностики *10. Технологии искусственного интеллекта в задачах диагностики *9. Модифицированный генетический алгоритм для задач оптимизации и *8?. Диагностика информационных подсистем АСУТП с использованием *7. К вопросу о параметрической оптимизации алгоритмов управления и *20. Диагностика информационных подсистем АСУТП с использованием sasha@zenon2:~/Documents/papers$
Номер 8 помечен «?», т.к. для него приведена мертвая ссылка. Для остальных скачены файлы (в директории mei). Надо проверить совпадение числа файлов (5) числу ссылок в public.txt (кроме помеченной «?»). Начинается с «*», затем идет цифра, затем все (цифра или точка), кроме «?»:
sasha@zenon2:~/Documents/papers$ grep ^*[0-9][^?] public.txt *12. Технологии искусственного интеллекта в задачах диагностики *10. Технологии искусственного интеллекта в задачах диагностики *9. Модифицированный генетический алгоритм для задач оптимизации и *7. К вопросу о параметрической оптимизации алгоритмов управления и *20. Диагностика информационных подсистем АСУТП с использованием sasha@zenon2:~/Documents/papers$ grep -c ^*[0-9][^?] public.txt 5
Славненько.
Автор askom