The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Скрипт по удалению повторений в файле, !*! staromsk, 19-Июл-06, 08:42  [смотреть все]
Имеется большой файл
dgdf www1 abc ...
,jhj, www1 vtr...
hffg www10 ....
het www13 ghj
fgh  www15 dgbg
thrthr www15 srgg
.........
. Подскажите пжлста по написанию скрипта, выбирающего из файла слова с маской "www", чтобы получился неповторяющийся список
www1
www2
www3
www4 и так далее
  • Скрипт по удалению повторений в файле, !*! madskull, 09:01 , 19-Июл-06 (1)
    >Имеется большой файл
    >dgdf www1 abc ...
    >,jhj, www1 vtr...
    > hffg www10 ....
    >het www13 ghj
    >fgh  www15 dgbg
    >thrthr www15 srgg
    >.........
    >. Подскажите пжлста по написанию скрипта, выбирающего из файла слова с маской
    >"www", чтобы получился неповторяющийся список
    > www1
    > www2
    > www3
    > www4 и так далее
    >
    grep -Po '\bwww\d+' | sort -u

    • Скрипт по удалению повторений в файле, !*! staromsk, 09:10 , 19-Июл-06 (2)
      >>Имеется большой файл
      >>dgdf www1 abc ...
      >>,jhj, www1 vtr...
      >> hffg www10 ....
      >>het www13 ghj
      >>fgh  www15 dgbg
      >>thrthr www15 srgg
      >>.........
      >>. Подскажите пжлста по написанию скрипта, выбирающего из файла слова с маской
      >>"www", чтобы получился неповторяющийся список
      >> www1
      >> www2
      >> www3
      >> www4 и так далее
      >>
      >grep -Po '\bwww\d+' | sort -u

      grep -Po '\bwww\d+' file1 > file2
      grep: The -P option is not supported


      • Скрипт по удалению повторений в файле, !*! madskull, 09:20 , 19-Июл-06 (3)

        >>>
        >>grep -Po '\bwww\d+' | sort -u
        >
        >grep -Po '\bwww\d+' file1 > file2
        >grep: The -P option is not supported

        Мораль: указывайте систему.

        Тогда
        sed 's/^.*\s\(www[0-9]\+\).*/\1/' | sort | uniq

        • Скрипт по удалению повторений в файле, !*! staromsk, 09:29 , 19-Июл-06 (4)
          >
          >>>>
          >>>grep -Po '\bwww\d+' | sort -u
          >>
          >>grep -Po '\bwww\d+' file1 > file2
          >>grep: The -P option is not supported
          >
          >Мораль: указывайте систему.
          >
          >Тогда
          >sed 's/^.*\s\(www[0-9]\+\).*/\1/' | sort | uniq

          прошу прощения. Система debian linux
          Но не получается всё равно
          sed 's/^.*\s\(www[0-9]\+\).*/\1/' | sort | uniq file1
          Вылазит тот же самый список

          • Скрипт по удалению повторений в файле, !*! madskull, 09:33 , 19-Июл-06 (5)
            >>Тогда
            >>sed 's/^.*\s\(www[0-9]\+\).*/\1/' | sort | uniq
            >
            >прошу прощения. Система debian linux
            >Но не получается всё равно
            >sed 's/^.*\s\(www[0-9]\+\).*/\1/' | sort | uniq file1
            > Вылазит тот же самый список

            Эт-та, надо основы учить...
            sed 's/^.*\s\(www[0-9]\+\).*/\1/' file1 | sort | uniq
            или
            cat file1 | sed 's/^.*\s\(www[0-9]\+\).*/\1/' | sort | uniq

            • Скрипт по удалению повторений в файле, !*! staromsk, 09:41 , 19-Июл-06 (6)
              >>>Тогда
              >>>sed 's/^.*\s\(www[0-9]\+\).*/\1/' | sort | uniq
              >>
              >>прошу прощения. Система debian linux
              >>Но не получается всё равно
              >>sed 's/^.*\s\(www[0-9]\+\).*/\1/' | sort | uniq file1
              >> Вылазит тот же самый список
              >
              >Эт-та, надо основы учить...
              >sed 's/^.*\s\(www[0-9]\+\).*/\1/' file1 | sort | uniq
              >или
              >cat file1 | sed 's/^.*\s\(www[0-9]\+\).*/\1/' | sort | uniq


              Получился список, но он повторяющийся и с ненужной инфой:
              dfhfdhwww1cfbfg
              fghfghwww1dfgf
              reggegwww1dfggd
              rgrewww2dfggddg
              dfgfhdwww2dfghgh
              dghhhfwww3fgdgf
              fdgfghwww4regn

              Как отсечь лишнее-то?

              • Скрипт по удалению повторений в файле, !*! madskull, 09:54 , 19-Июл-06 (7)

                >Как отсечь лишнее-то?
                Подумать да поэкспериментировать самому.

                Проверил на дебиане, действительно, sed 4.1.2 не понимает \s.
                В общем, "на моем дебиане" работает следующий код:
                cat file1 | sed 's/^.* \(www[0-9]\+\).*/\1/' | sort | uniq

                • Скрипт по удалению повторений в файле, !*! staromsk, 10:35 , 19-Июл-06 (9)
                  >
                  >>Как отсечь лишнее-то?
                  >Подумать да поэкспериментировать самому.
                  >
                  >Проверил на дебиане, действительно, sed 4.1.2 не понимает \s.
                  >В общем, "на моем дебиане" работает следующий код:
                  >cat file1 | sed 's/^.* \(www[0-9]\+\).*/\1/' | sort | uniq


                  Спасибо большое! Всё работает! Только вот не могу понять почему он выводит лишнего много, если нужно получить
                  www.eee.1
                  www.eee.2
                  www.eee.3
                  www.eee.4
                  ....
                  Пишу cat file1 | sed 's/^.* \(www.eee.[0-9]\+\).*/\1/' | sort | uniq
                                      

  • Скрипт по удалению повторений в файле, !*! Brainbug, 09:57 , 19-Июл-06 (8)
    >Имеется большой файл
    >dgdf www1 abc ...
    >,jhj, www1 vtr...
    > hffg www10 ....
    >het www13 ghj
    >fgh  www15 dgbg
    >thrthr www15 srgg
    >.........
    >. Подскажите пжлста по написанию скрипта, выбирающего из файла слова с маской
    >"www", чтобы получился неповторяющийся список
    > www1
    > www2
    > www3
    > www4 и так далее
    >

    [temp@temp ~]$ cat file1
    ,jhj, www1 vtsfdgsdr
    hffg www10 sdfgfsd
    het www13 ghj
    fgh  www15 dgbg
    thrthr www15 srgg
    sfgksdf www1 sfdklgjsdfl
    adfgjkdfh w sdfkljgsfldg
    sklfjglksdf sfdglkjsf sfdlgjsdflgk
    sdfgsdfg www10 sdfjkghf
    [temp@temp ~]$ awk '{if($2 ~ /www/){print $2}}' file1 | sort -u
    www1
    www10
    www13
    www15

    P.S. Pri uslovii 4to jest razdeliteli mezdu polami. V na4alnom uslovii oni jest.


    • Скрипт по удалению повторений в файле, !*! staromsk, 10:47 , 19-Июл-06 (10)
      >>Имеется большой файл
      >>dgdf www1 abc ...
      >>,jhj, www1 vtr...
      >> hffg www10 ....
      >>het www13 ghj
      >>fgh  www15 dgbg
      >>thrthr www15 srgg
      >>.........
      >>. Подскажите пжлста по написанию скрипта, выбирающего из файла слова с маской
      >>"www", чтобы получился неповторяющийся список
      >> www1
      >> www2
      >> www3
      >> www4 и так далее
      >>
      >
      >[temp@temp ~]$ cat file1
      >,jhj, www1 vtsfdgsdr
      >hffg www10 sdfgfsd
      >het www13 ghj
      >fgh  www15 dgbg
      >thrthr www15 srgg
      >sfgksdf www1 sfdklgjsdfl
      >adfgjkdfh w sdfkljgsfldg
      >sklfjglksdf sfdglkjsf sfdlgjsdflgk
      >sdfgsdfg www10 sdfjkghf
      >[temp@temp ~]$ awk '{if($2 ~ /www/){print $2}}' file1 | sort -u
      >www1
      >www10
      >www13
      >www15
      >
      >P.S. Pri uslovii 4to jest razdeliteli mezdu polami. V na4alnom uslovii oni
      >jest.

      Извиняюсь перед Вами и уважаемой аудитории форума, но начальные условия такие:
      ert<www.eee.1:egrr
      fthh<www.eee.1:ynhnht
      rtg<www.eee.13rth
      rreg<www.eee.26:trhh
      hynn<www.eee.467:segn
      ....




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

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