Dostávám od uživatele určitou absolutní cestu k souboru a chci vytvořit proměnnou, která bude řetězcem, který nebude obsahovat pouze PRVNÍ dvě součásti cesty k souboru, ale bez jejího vytištění nebo čehokoli.
Absolutní cesta může být například:
/home/myusername/folder1/folder2/folder3
A je uloženo v „target_path“ a chci, aby „mydir“ bylo pouze:
/folder1/folder2/folder3
Zkoušel jsem použít příkaz vyjmout různými způsoby, ale bez úspěchu.
Přijatá odpověď:
Použití manipulace s bashovým řetězcem:
$ a=/home/myusername/folder1/folder2/folder3
$ echo "${a#/*/*/}"
folder1/folder2/folder3
Takže požadovaný řetězec by byl (přidáním úvodního lomítka):
b="/${a#/*/*/}"
Pro proměnnou a , ${a#foo} odstraní nejkratší řetězec odpovídající foo od začátku z a . Odstraníme tedy nejkratší řetězec obsahující tři / (včetně úvodního lomítka v cestě), chcete-li odstranit první dvě součásti absolutní cesty.
Co dělá `–frontend` při `do-release-upgrade` a kde najdu seznam možných hodnot?
Jak nastavit automatický noční režim v Ubuntu 20.04?