The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Скрипт на Линуксу., !*! Fier, 03-Фев-11, 19:56  [смотреть все]
Драсте. Помогите с заданием. мучаюсь уже с ВМВаре долго.

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

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

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

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

  • Скрипт на Линуксу., !*! ACCA, 21:43 , 03-Фев-11 (1) +1
    Уроки нужно учить самому.

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

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

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

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

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

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

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

      • Скрипт на Линуксу., !*! Fier, 17:45 , 08-Фев-11 (4)
        >> Уроки нужно учить самому.
        >> Про 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.

        • Скрипт на Линуксу., !*! DeadLoco, 12:57 , 09-Фев-11 (5)
          > Найти все файли которые имею в названии букву '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"

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

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

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

  • Скрипт на Линуксу., !*! babusha, 13:31 , 19-Фев-11 (7)
    >вивести на екран номери рядків з цих файлів в яких зустрічається цифра
    > 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 } "

    • Скрипт на Линуксу., !*! ill ates, 12:18 , 26-Фев-11 (8)
      > >вивести на екран номери рядків з цих файлів в яких зустрічається цифра
      >> 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




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

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