LinuxForum.Fans
Тема

Вопрос по sed (awk ?)

Автор: SergMarkov 8 сообщений 1117 просмотров
#293928

Есть путь, к примеру, /usr/portage/x11-misc/iconbox,
Есть файлик /usr/portage/x11-misc/iconbox/iconbox-0.2.ebuild
Как из всего этого получить вот такой путь - /var/tmp/portage/x11-misc/iconbox-0.2 ?
Вот это - x11-misc/iconbox и это x11-misc/iconbox/iconbox-0.2.ebuild может быть любым

#293933

Можно как то так

text
#!/bin/bash

file1=$(echo /usr/portage/x11-misc/iconbox/iconbox-0.2.ebuild) file2=$(echo $file1\ |sed 's/\// /g' \ |sed 's/.ebuild//' \ |awk '{print "/var/tmp/portage/"$3"/"$5}')

echo $file2

#293934
ormorph написал:
Можно как то так
text
#!/bin/bash

file1=$(echo /usr/portage/x11-misc/iconbox/iconbox-0.2.ebuild) file2=$(echo $file1\ |sed 's/\// /g' \ |sed 's/.ebuild//' \ |awk '{print "/var/tmp/portage/"$3"/"$5}')

echo $file2

Thanks ! Оно :-)

#294280
ormorph написал:
Можно как то так
text
#!/bin/bash

file1=$(echo /usr/portage/x11-misc/iconbox/iconbox-0.2.ebuild) file2=$(echo $file1\ |sed 's/\// /g' \ |sed 's/.ebuild//' \ |awk '{print "/var/tmp/portage/"$3"/"$5}')

echo $file2

да, но
cd $file2
никуда не переходит

#294281
"SergMarkov" написал:
да, но
cd $file2
никуда не переходит

А каталог /var/tmp/portage/x11-misc/iconbox-0.2 существует?

#294283
Lupo Alberto написал:

А каталог /var/tmp/portage/x11-misc/iconbox-0.2 существует?

Ну да, туда без скрипта собирал, ручками

text

/var/tmp/portage/x11-misc
ed->ls
iconbox-0.2  idesk-0.7.5-r2  idesk-extras-1.37    piedock-1.6.1  xsensors-0.70
#294284

SergMarkov
А как вы определяете, что он переходит или нет, если команда cd в скрипте, то по завершению скрипта, вы опять оказываетесь в том же каталоге, в котором выполняли скрипт.
Т.е. скрипт выполняется в новой оболочке bash, по завершению скрипта, завершается и оболочка bash, и вы снова оказываетесь в той оболочке из которой запускали скрип.
Проверка перехода каталога pwd должна происходить то же в скрипте.
Надеюсь проблема именно в этом)

#294289
ormorph написал:
SergMarkov
А как вы определяете, что он переходит или нет, если команда cd в скрипте, то по завершению скрипта, вы опять оказываетесь в том же каталоге, в котором выполняли скрипт.
Т.е. скрипт выполняется в новой оболочке bash, по завершению скрипта, завершается и оболочка bash, и вы снова оказываетесь в той оболочке из которой запускали скрип.
Проверка перехода каталога pwd должна происходить то же в скрипте.
Надеюсь проблема именно в этом)

Нет, проблема в похмелье :-))
Thanks, идиот, как всегда, это я :-)

Войдите или зарегистрируйтесь, чтобы ответить.