LinuxForum.Fans
Тема

Помощь в написании скрипта

Автор: Belovusova 7 сообщений 1860 просмотров
#164132

Доброго времени суток. я тут первый раз, поэтому не знаю в тот ли топик я сообщение пишу.

Ребят, очень нужна помощь в решении задачки :( .

Написать скрипт для поиска заданной пользователем строки во всех файлах заданного каталога и всех его подкаталогах (строка и имя каталога задаются пользователем в качестве первого и второго аргумента командной строки). На консоль выводятся полный путь и имена файлов, в содержимом которых присутствует заданная строка, и их размер. Если к какому либо каталогу нет доступа, необходимо вывести соответствующее сообщение и продолжить выполнение.

думаю всё понятно.

заранее оч благодарна wink .

#164141
text
#!/bin/sh

DIR="$1" STR="$2" for FILE in $(find $DIR -type f); do if [ -n "$(grep $STR $FILE)" ] ; then ls -ld $FILE # или печать в том виде в котором вы любите... fi done

ЗЫ: набросано на коленке и не отлажено, не будет работать если в именах файлов есть пробельные символы.

#164183

Belovusova, предполагаю что вы студентка. Если это так и вы такие простые задачки выполнять не в силах, то прошу вас - не работайте по специальности, когда закончите.

#164197

elve, фу, какой вы грубый

Fat-Zer, моей благодарности нет границ!

#164251

Ребята, у меня для вас новое, жудко интересное задание.

Напишите регулярное выражение, использование которого в grep позволит отобрать такие, и только такие строки:
Подстрока [^-^] повторяется 10 раз, после чего от 5 до 7 раз повторяется ]/|\[, и всё это вместе повторяется 12 раз.

надеюсь на вашу помощь

#164253
text

grep "\(\(\[\^-\^\]\)\{10\}\(\]\/\|\\\[\)\{5,7\}\)\{12\}" $file

возможно, это работает smile
и man grep штоле

#164274
Belovusova написал:
Ребята, у меня для вас новое, жудко интересное задание.

Напишите регулярное выражение, использование которого в grep позволит отобрать такие, и только такие строки:
Подстрока [^-^] повторяется 10 раз, после чего от 5 до 7 раз повторяется ]/|\[, и всё это вместе повторяется 12 раз.

надеюсь на вашу помощь

man grep
И для первой задачи то же, элементарный grep.

Войдите или зарегистрируйтесь, чтобы ответить.