Za pomocą polecenia basename można zrobić bardzo ciekawą rzecz, a mianowicie z nazwy wskazywanego pliku usunąć przyrostek (rozszerzenie pliku). Większość z was może się zastanowić po co w ogóle robić coś takiego, natomiast w dalszej części pokazany został przykład dobitnie ilustrujący zastosowanie tego programu.
Ogólne użycie tego programu wygląda następująco.
Gdzie: NAZWA to nazwa pliku, a SUFFIX to przyrostek (rozszerzenie pliku), który może zostać pominięty. Jeśli jednak pominiemy wprowadzenie przyrostka, to z nazwą nie zostanie nic zrobione, zostanie wyświetlona dokładnie taka sama. Generalnie użycie basename nie zmienia nazwy pliku, z którego korzystał, jedynie edytowana nazwa zostanie wyświetlona na ekranie. Tak więc przykład użycia może być następujący.
Jak widać w pierwszym przypadku nie podaliśmy suffix'a, dlatego też cała nazwa została wyświetlona. W drugim jednak przypadku podaliśmy jako suffix rozszerzenie tego pliku, jako wynik dostaliśmy samą nazwę plik1. Jakie mogą być korzyści z używania tego programu? A więc załóżmy pewną rzecz, mamy w katalogu X, n plików, każdy z rozszerzeniem .php. Chcemy, aby każdy z tych plików znalazł się w katalogu którego nazwą będzie nazwa tego pliku, tylko, że bez rozszerzenia (np. plik: basename.php, katalog: basename). Jeśli plików tych jest stosunkowo mało, to można zrobić to ręcznie, a co jeśli tych plików będzie np. 100? Tworzenie po kolei każdego katalogu oraz przenoszenie pliku do nowo utworzonego katalogu, zajęło by około 17 minut (zakładając, że utworzenie katalogu i przeniesienie pliku do tego katalogu zajęło by łącznie 10 sekund). Korzystając z basename zajmie nam to tyle co czas wpisania skryptu i uruchomienia go. Dajmy na to 45 sekund (w tym przykładzie są 23 pliki, lecz nie ma to najmniejszego znaczenia, ponieważ skrypt działa dla różnych ilości plików i nie trzeba nawet tej liczby podawać).
Czyż używanie konsoli nie jest piękne? Omówię działanie tego skryptu w kilku kolejnych liniach.
Jeśli w katalogu X było by 1000 plików, to dokładnie takie same czynności zostały by wykonane, tylko odpowiednią liczbę razy więcej. Ile zaoszczędzilibyśmy czasu? Zdecydowanie bardzo dużo.
Some rights reserved 2010 - 2015 Artur Pyszczuk
| Strona Główna | Kontakt |