The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
разбор файла, !*! izvorot, 23-Июл-09, 10:37  [смотреть все]
Приветствую!есть файл с записями такого рода

/home /var/bac
/etc/squid /usr/qwe
/root /var/vos

т.е в нем идут записи в 2 столбца через пробел.мне нужно его разобрать скриптом так чтобы через цикл (наверное for) помещать значения перврго столбца в переменную А,а второго столбца в переменную В.подскажите,пожалуйста как сделать.

  • разбор файла, !*! Andrey Mitrofanov, 10:41 , 23-Июл-09 (1)
    Не FreeBSD? Нет? ... Извините.

    while read A B ccc; do
      echo "+$B +$A"
      done <file.txt

    • разбор файла, !*! izvorot, 10:51 , 23-Июл-09 (2)
      >Не FreeBSD? Нет? ... Извините.
      >
      >while read A B ccc; do
      >  echo "+$B +$A"
      >  done <file.txt

      ОС Линукс. такая комбинация не работает %(

      • разбор файла, !*! allez, 12:34 , 23-Июл-09 (3)
        >>Не FreeBSD? Нет? ... Извините.
        >>
        >>while read A B ccc; do
        >>  echo "+$B +$A"
        >>  done <file.txt
        >
        >ОС Линукс. такая комбинация не работает %(

        И как именно она не работает? Какие команды вы даете? Что при этом выводится на экран?
        Если будете и впредь так неохотно делиться нужной информацией, прося помощи,
        рискуете получить в качестве бонуса путевку в пеший эротический тур, причем вполне
        заслуженно. ;-)

        P. S. У меня, кстати, все вполне себе работает:


        $ cat file
        /home /var/bac
        /etc/squid /usr/qwe
        /root /var/vos

        $ while read A B ccc; do echo "A = $A; B = $B"; done < file
        A = /home; B = /var/bac
        A = /etc/squid; B = /usr/qwe
        A = /root; B = /var/vos


        • разбор файла, !*! izvorot, 13:54 , 23-Июл-09 (4)
          >[оверквотинг удален]
          >$ cat file
          >/home /var/bac
          >/etc/squid /usr/qwe
          >/root /var/vos
          >
          >$ while read A B ccc; do echo "A = $A; B
          >= $B"; done < file
          >A = /home; B = /var/bac
          >A = /etc/squid; B = /usr/qwe
          >A = /root; B = /var/vos

          путевку в пеший эротический тур можете не выдавать-все заработало.всем спасибо за помощь :)

  • разбор файла, !*! izvorot, 14:24 , 24-Июл-09 (5)
    По ходу работы возник еще один вопрос-как можно в имя файла записать путь по которому он находился?потом просто куча файлов будет лежать в другой папке-и глядя на них нужно иметь представление откуда они родом.

    Или подскажите хотя бы как поменять / на \ в имени файла?

    • разбор файла, !*! allez, 16:19 , 24-Июл-09 (6)
      >По ходу работы возник еще один вопрос-как можно в имя файла записать
      >путь по которому он находился?потом просто куча файлов будет лежать в
      >другой папке-и глядя на них нужно иметь представление откуда они родом.

      man dirname, однако.

      >Или подскажите хотя бы как поменять / на \ в имени файла?

      Лучше, пожалуй, будет менять косые черты на что-нибудь менее специальное, например, подчерк:

      sed 's/\//_/g'

      • полётов, !*! Andrey Mitrofanov, 18:35 , 24-Июл-09 (7)
        >man dirname, однако.

        ??!!(*1) http:/openforum/vsluhforumID9/8352.html#5

        var2="${var1%/*}"

        >sed 's/\//_/g'

        var2="${var1//\//\\}"

        ---
        (*1) То есть Вы хотите сказать, что позиксвей -- он не только во FreeBSD?

        И man bash д.б. не моден даже в _GNU_/Linux?..
        http:/openforum/vsluhforumID9/8319.html#6
        http:/openforum/vsluhforumID9/7655.html#1

        ( ?! google.ru + "man bash" site:openent.ru/openforum/ + ENTER :: Всё что, вы только собираетесь спросить про bash -- Мастера читают man-bash вслух.)

        И да, всего man bash не понимаю/не помню даже :D я.
        http:/openforum/vsluhforumID1/84527.html#5

        И да, man bash - это не всё...
        http:/openforum/vsluhforumID9/8352.html#15
        http:/openforum/vsluhforumID9/7581.html#7

        В общем "поиск в форуме работает", а в гугле ещё лучше...

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

        $ pwd
        /usr/share/doc/bash-doc/examples
        $ echo "${PWD//\//\\}"
        \usr\share\doc\bash-doc\examples
        $ _

        • полётов, !*! allez, 20:27 , 24-Июл-09 (8)
          >(*1) То есть Вы хотите сказать, что позиксвей -- он не только
          >во FreeBSD?

          Андрей, я хотел сказать только man dirname и sed 's/\//_/g'.
          И именно это я и сказал. Если Вам показалось, что я имел в виду какой-то
          "позиксвей не только во FreeBSD", то это плод сугубо вашего воображения. ;-)

          >И man bash д.б. не моден даже в _GNU_/Linux?..
          >И да, всего man bash не понимаю/не помню даже :D я.
          >И да, man bash - это не всё...

          Ну а теперь сами посудите, зачем говорить кому-то man bash, если у вас это
          получается лучше? :-) Нет уж, не хочу я быть "святее Папы Римского" тем паче, что и вы,
          по вашему же признанию, не без греха, да? И если уж man bash - это не всё, то тем
          более не стану я на него замахиваться. :-)

          P. S. А если серьезно, Андрей, то имело место небольшое ушкуйное намерение спровоцировать
          вас и посмотреть на вашу реакцию. Искренне каюсь и прошу прощения. Без смайликов.

          • полётов, !*! Andrey Mitrofanov, 21:08 , 24-Июл-09 (9)
            >И именно это я и сказал. Если Вам показалось, что я имел
            >в виду какой-то
            >"позиксвей не только во FreeBSD", то это плод сугубо вашего воображения. ;-)

            Само-собой.
            http:/openforum/vsluhforumID9/7334.html#13
            http:/openforum/vsluhforumID9/7769.html#9
            http:/openforum/vsluhforumID3/56910.html#24

            >>И да, всего man bash не понимаю/не помню даже :D я.
            >по вашему же признанию, не без греха, да?

            Лень - страаашный грех, да. P)

            >P. S. А если серьезно, Андрей, то имело место небольшое ушкуйное намерение
            >спровоцировать вас и посмотреть на вашу реакцию.

            Ваша FreeBSD? ...Gentoo? ...Mandriva?!.. для меня намного большая провокация. $-)

            >Искренне каюсь и прошу прощения. Без смайликов.

            Забей. Поймал - молодец...




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

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