0 / 0 / 0
Регистрация: 17.10.2017
Сообщений: 2
|
|
1 | |
Найти все файлы содержащие в себе свое же имя17.10.2017, 21:28. Показов 2018. Ответов 4
Доброго времени суток, господа.
Мне поставили задачу - реализовать поиск текстовых файлов во каталоге и всех подкаталогах, в тексте которых содержится имя самого файла. (Например в файле file1.txt нашлось file1, в abrakadabra.txt - abrakadabra и т.д.) Есть ли возможность искать одновременно и файлы и проверять их содержимое? Я смутно представляю себе, что нужно использовать grep -r дабы рекурсивно пройтись по всем файлам в каталоге. Но вот искомая фраза все время меняется - как с этим быть? Или я совсем не туда думаю и нужно использовать find. Ведь grep же не ищет в подкаталогах? Заранее благодарю за помощь. Совсем мозг стёр с этим.
0
|
17.10.2017, 21:28 | |
Ответы с готовыми решениями:
4
Как создаются проекты, содержащие в себе разные файлы? Вывести все слова из файла, содержащие в себе слово red Найти все файлы с данным разрешением и вывести их имя и размер Найти и вывести все файлы имя которых начинается с указанной буквы |
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
||||||
17.10.2017, 21:43 | 2 | |||||
2
|
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
||||||
17.10.2017, 21:50 | 3 | |||||
grep может искать в подкаталогах (опция -r), но в данном случае, действительно, всё время меняется искомая строка. Почему не вызывать grep отдельно для каждого найденного файла? В баше искать файлы можно find-ом, но вряд ли получится короче, чем в zsh:
2
|
0 / 0 / 0
Регистрация: 17.10.2017
Сообщений: 2
|
|
17.10.2017, 23:32 [ТС] | 4 |
Прошу прощения за надоедливость, но хочется все-таки понять что происходит в написаном Вами коде. Я не из тех, кому нужно gimme da codes. Мне правда интересно понять принцип.
Что я понял: find -type f - искать только обычные файлы exec bash - выполнить скрипт записаный в строке после -c fname=$(basename $0) - вот тут если можно поподробнее. Интуитивно понимаю, что fname присваивается имя файла, но как это работает? Применяется на каждый файл отдельно? grep -Il '$fname%.*" '$0' {} - Вообще ничего неясно, кроме очевидных параметров для грепа. Заранее благодарен за ответ.
0
|
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|
18.10.2017, 15:57 | 5 |
А самому?
Сообщение от man bash
0
|
18.10.2017, 15:57 | |
18.10.2017, 15:57 | |
Помогаю со студенческими работами здесь
5
Найти первые 20 слов из текста, содержащие в себе введённое слово Скрипт, получающий от пользователя имя приложения, должен найти в каталоге и подкаталогах все файлы Во втором каталоге которой указан в переменной PATH найти все файлы содержащие в названии букву "b" Ввести фамилию, имя, отчество. Вывести свое имя в столбик Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |