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?