The OpenNET Project / Index page

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

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

"разбор файла"  +/
Сообщение от izvorot email(??) on 23-Июл-09, 10:37 
Приветствую!есть файл с записями такого рода

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

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

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

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


1. "разбор файла"  +/
Сообщение от Andrey Mitrofanov on 23-Июл-09, 10:41 
Не FreeBSD? Нет? ... Извините.

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "разбор файла"  +/
Сообщение от allez (ok) on 23-Июл-09, 12:34 
>>Не 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


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "разбор файла"  +/
Сообщение от izvorot email(ok) on 23-Июл-09, 13:54 
>[оверквотинг удален]
>$ 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

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

man dirname, однако.

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

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

sed 's/\//_/g'

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "полётов"  +/
Сообщение от Andrey Mitrofanov on 24-Июл-09, 18:35 
>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
$ _

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "полётов"  +/
Сообщение от allez (ok) on 24-Июл-09, 20:27 
>(*1) То есть Вы хотите сказать, что позиксвей -- он не только
>во FreeBSD?

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

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

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

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "полётов"  +/
Сообщение от Andrey Mitrofanov on 24-Июл-09, 21:08 
>И именно это я и сказал. Если Вам показалось, что я имел
>в виду какой-то
>"позиксвей не только во 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?!.. для меня намного большая провокация. $-)

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

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

Индекс форумов | Темы | Пред. тема | След. тема




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

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