[bash] edycja łancucha zawierającego adres pliku

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
bli8
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 29 kwie 2010, 19:29
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

[bash] edycja łancucha zawierającego adres pliku

Post autor: bli8 »

Witam.
Oto mój problem:
mam zmienną $nazwa. Ona przechowuje adres pliku. Plik ma rozszerzenie .cpp. Wie ktoś może jakie polecenie muszę użyć aby uzyskać adres ale bez tej końcówki(tj. .cpp). Próbowałem jakiś operacji na łańcuchach (grep), ale ale ona bierze mi ten plik(ten na który wskazuje adres w zmiennej) do obróbki, zamiast adresu tego pliku.

Pozdrawiam.
Awatar użytkownika
borzole
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 127
Rejestracja: 10 sie 2010, 11:48
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: [bash] edycja łancucha zawierającego adres pliku

Post autor: borzole »

Kod: Zaznacz cały

echo ${nazwa%.cpp}
% - obcina pierwszy wzorzec z tyłu
%% - obcina najdłuższy fragment pasujący do wzorca z tyłu
# i ## robią to podobnie tylko, że od przodu

Kod: Zaznacz cały

#!/bin/bash

nazwa="$HOME/path/to/source.cpp"
echo ${nazwa%.cpp}
echo ${nazwa%/*}
echo ${nazwa#/*}
echo ${nazwa##*/}
bli8
Piegowaty Guziec
Piegowaty Guziec
Posty: 5
Rejestracja: 29 kwie 2010, 19:29
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: [bash] edycja łancucha zawierającego adres pliku

Post autor: bli8 »

Dzięki serdeczne. Teraz wszystko śmiga :)
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 9 gości