The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Скрипт на Линуксу."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Скрипт на Линуксу."  –2 +/
Сообщение от Fier email(ok) on 03-Фев-11, 19:56 
Драсте. Помогите с заданием. мучаюсь уже с ВМВаре долго.

знайти всі файли які містять у назві літеру 'b' вивести на екран номери рядків з цих файлів в яких зустрічається цифра 1.

Пофик в каком каталоге.
Поиск файлов на определенную букву уже нашел, но не могу найти как надо код что бы он выдавал номер строк.

$ find  / -name “[a-j]*” -print
Вышеуказанная команда позволит отыскать все файлы в системе, начинающиеся с букв от a до j

Вот что поиску файлов. Помогите. Напишите скрипт. Через head i tail пробывал. ничего интересного не нашел.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Скрипт на Линуксу."  +1 +/
Сообщение от ACCA (ok) on 03-Фев-11, 21:43 
Уроки нужно учить самому.

Про find - ты забыл -type f. Номера строк даст grep -n. Учти, что в имени каталога могут быть пробелы, то есть find ... -type f -print0 | xargs -0 grep -n ...

И с травой завязывай - .ru это совсем не Рiдна Україна.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Скрипт на Линуксу."  +/
Сообщение от DeadLoco (ok) on 05-Фев-11, 05:06 
> ... -type f -print0 | xargs -0 grep -n ...
> И с травой завязывай - .ru это совсем не Рiдна Україна.

А вам тут не лондон с вошынгтоном, извольте команды писать кириллицей!

Не поймите меня правильно....

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Скрипт на Линуксу."  +/
Сообщение от Fier (ok) on 08-Фев-11, 16:48 
> Уроки нужно учить самому.
> Про find - ты забыл -type f. Номера строк даст grep -n.
> Учти, что в имени каталога могут быть пробелы, то есть find
> ... -type f -print0 | xargs -0 grep -n ...
> И с травой завязывай - .ru это совсем не Рiдна Україна.

"... -type f -print0 | xargs -0 grep -n ..." - написал... но надо еще ж название файла указать что бы только те которые с буквы 'b'. Попытался написать с "-нейм" отказалось работать совсем.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Скрипт на Линуксу."  +/
Сообщение от Fier (ok) on 08-Фев-11, 17:45 
>> Уроки нужно учить самому.
>> Про find - ты забыл -type f. Номера строк даст grep -n.
>> Учти, что в имени каталога могут быть пробелы, то есть find
>> ... -type f -print0 | xargs -0 grep -n ...
>> И с травой завязывай - .ru это совсем не Рiдна Україна.
> "... -type f -print0 | xargs -0 grep -n ..." - написал...
> но надо еще ж название файла указать что бы только те
> которые с буквы 'b'. Попытался написать с "-нейм" отказалось работать совсем.

Найти все файли которые имею в названии букву 'b' - вывести на экран номера рядков с этих файлов в которых встречается цыфра 1. В каталоге /etc.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Скрипт на Линуксу."  +/
Сообщение от DeadLoco (ok) on 09-Фев-11, 12:57 
> Найти все файли которые имею в названии букву 'b' - вывести на
> экран номера рядков с этих файлов в которых встречается цыфра 1.
> В каталоге /etc.

Уважно читай man find:

-regex pattern
             True if the whole path of the file matches pattern using regular
             expression.  To match a file named ``./foo/xyzzy'', you can use
             the regular expression ``.*/[xyz]*'' or ``.*/foo/.*'', but not
             ``xyzzy'' or ``/foo/''.

-iregex pattern
             Like -regex, but the match is case insensitive.


В твоєму випадку пайп має бути наступний:

find /path -type f -print0 -regex "*b*" | xargs -0 egrep -n "1"

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Скрипт на Линуксу."  +/
Сообщение от ACCA (ok) on 09-Фев-11, 12:57 
> которые с буквы 'b'. Попытался написать с "-нейм" отказалось работать совсем.

Попробуй написать -name '*b*'

У тебя в задании не "с буквы b" а "с буквой b".

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

7. "Скрипт на Линуксу."  +/
Сообщение от babusha (ok) on 19-Фев-11, 13:31 
>вивести на екран номери рядків з цих файлів в яких зустрічається цифра
> 1.

$ find  / -name “[a-j]*” -print | ruby -e "count = 1; STDIN.read.split(/\n/).each { |line| puts count.to_s + line if line =~ /1/; count += 1 } "

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Скрипт на Линуксу."  +/
Сообщение от ill ates on 26-Фев-11, 12:18 
> >вивести на екран номери рядків з цих файлів в яких зустрічається цифра
>> 1.
> $ find  / -name “[a-j]*” -print | ruby -e "count =
> 1; STDIN.read.split(/\n/).each { |line| puts count.to_s + line if line =~
> /1/; count += 1 } "

Может шелл сначала подучишь, прежде чем свой быдлокод на руби постить?
for a in /etc/**/*b*;echo $a && awk '/1/{print FNR}' $a

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру