Sziasztok,
Nem vagyok egy bash szaki es az a harci problemam tamadt, hogy mindenfele keszekusza fajlneveket kellene letisztitanom amelyek neha teljes eleresi utvonalat, pontot, szokozt, ekezeteket tartalmaznak, majd a vegerol lecsipni a kiterjesztest, hogy csak tisztan a fajlnev maradjon. Teljesen mindegy lenne, hogy a fajlnev mit tartalmaz, csak ne legyenek benne oda nem illo karakterek. C-ben ossze tudnam utni a dolgot, de egy meglevo bash script elejehez lenne hozzacsapva es ha van kifejezetten erre valo kesz megoldas a bash-ben akkor az lenne a nyero. :-)
Tehat, letezik-e valamifele kesz megoldas ahol bemenetken bedobom az utvonalat+fajlnevet es azt a darabjat dobja vissza amelyik eppen szukseges? :-)
Koszi elore is. :-)
- 1154 megtekintés
Hozzászólások
dirname, basename
- A hozzászóláshoz be kell jelentkezni
Ezek külső progik. Ha 1-2-szer hívod meg, akkor jó, de ha több százszor, akkor baromi lassú.
Beépített bash megoldás a man page "Parameter Expansion" fejezetében található.
i=/foo/bar/bigyo.txt
i="${i##*/}"
i="${i%.*}"
echo "$i" (azt fogja kiírni hogy "bigyo")
- A hozzászóláshoz be kell jelentkezni
Koszi szepen, ugy nez ki, hogy megoldodott. Legalabb is azokkal a fajlokkal amelyekkel probaltam. :-)
---------------------
Minél korszakalkotóbb ötlettel állsz elő, annál több hülyén kell átverekedned magadat.
- A hozzászóláshoz be kell jelentkezni