abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 18:22 | Komunita

V září proběhla každoroční konference Akademy komunity KDE. Nyní jsou záznamy přednášek dostupné online. Témata se dotýkají aplikací a knihoven KDE, jejich adaptaci pro různá speciální použití (vestavěná zařízení či rozšířená realita) i obecně vývoje a distribuce softwaru.

Fluttershy, yay! | Komentářů: 0
dnes 09:11 | Zajímavý článek

Mozilla.cz informuje o vylepšování vlastních about: stránek Firefoxu, konkrétně o odstraňování volání funkce eval() z těchto stránek. Tyto stránky mají přístup k interním součástem Firefoxu, ale protože jsou napsané v HTML a JavaScriptu, mohou být cílem podobných útoků jako webové stránky zobrazované v prohlížeči (např. vložení cizího kódu nebo obsahu), jen s potenciálně závažnějším dopadem. Pokud by se někomu skutečně povedlo kód do

… více »
Ladislav Hagara | Komentářů: 3
dnes 08:55 | Zajímavý projekt

Uživatel GitHubu joeycastillo představil The Open Book Project, jehož cílem je vytvořit open-source čtečku elektronických knih. Projekt se zatím nachází v rané fázi vývoje, už nyní ale obsahuje použitelný návrh hardware prototypu „Feather Wing“, jehož cílem má být ověření konceptu na 4,2palcovém displeji. Tento koncept je postaven na kitu Adafruit Feather M4 Express, který ovládá hlavní desku s displeji a tlačítky. Po úspěšném ověření

… více »
Bystroushaak | Komentářů: 30
dnes 05:00 | Nová verze

Byla vydána verze 5.0.0 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata (Wikipedie). Přehled novinek v oficiálním oznámení a v aktualizované dokumentaci.

Ladislav Hagara | Komentářů: 0
včera 20:33 | Zajímavý projekt

Byly zveřejněny schémata, firmware a instrukce pro sestavení trackballu Ploopy. Ten používá Arduino, senzor PMW3360 a 1,75palcovou kouli. Zdrojové soubory jsou šířeny pod open-hardware licencí CERN a GNU GPLv3. Tvar je inspirovaný klasickým trackballem Microsoft Trackball Explorer, jehož výroba byla ukončena kolem roku 2005 bez náhrady; projekt Ploopy se k tomu ale z právních důvodů nehlásí. Již vyrobené díly je možno objednat za 200 kanadských dolarů. Další podrobnosti v příspěvcích uživatele crop_octagon na Redditu.

Fluttershy, yay! | Komentářů: 23
včera 20:22 | Nová verze

Vyšlo desktopové prostředí KDE Plasma 5.17. Novinkou je např. „noční režim“ (pro X11, nejen Wayland), skrytí upozornění při prezentacích (když je připojena obrazovka se stejným obrazem), lepší podpora HiDPI, optimalizace využití zdrojů a mnoho drobných zlepšení a oprav.

Fluttershy, yay! | Komentářů: 1
včera 12:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 169. brněnský sraz, který proběhne v pátek 18. října od 19:00 v restauraci Racek (Jungmanova 5). Před srazem proběhne v 18:00 komentovaná prohlídka nových prostor hackerspacu base48 (přístup je z Mojmírova náměstí).

Ladislav Hagara | Komentářů: 8
včera 05:55 | Bezpečnostní upozornění

V příkazu sudo byla nalezena a ve verzi 1.8.28 byla již opravena bezpečnostní chyba CVE-2019-14287. V souboru /etc/sudoers lze nastavit, aby daný uživatel mohl konkrétní příkaz spouštět s právy libovolného uživatele (ALL) nebo libovolného uživatele kromě uživatele root (ALL, !root). Spustí-li tento uživatel daný příkaz se sudo s volbou -u#-1 nebo -u#4294967295, tj. pod uživatelem -1 nebo 4294967295, nebude vyžadována autentizace a příkaz se spustí pod právy roota.

Ladislav Hagara | Komentářů: 1
včera 01:33 | Nová verze

Po více než roce a čtvrt od vydání verze 3.7.0 byla vydána nová verze 3.8.0 programovacího jazyka Python. Přehled novinek v aktualizované dokumentaci. Podrobný přehled změn v Changelogu.

Ladislav Hagara | Komentářů: 15
14.10. 16:11 | IT novinky

Ke zhlédnutí na Invidious a YouTube je videozáznam rozborky a sborky mobilního telefonu Librem 5.

Ladislav Hagara | Komentářů: 57
Kdy jste naposledy viděli počítač s připojeným běžícím CRT monitorem?
 (19%)
 (4%)
 (11%)
 (39%)
 (24%)
 (2%)
Celkem 407 hlasů
 Komentářů: 22, poslední 23.9. 08:36
Rozcestník

www.AutoDoc.Cz

Dotaz: Bash - Jak odstranit část cesty

3.2. 23:57 Janek
Bash - Jak odstranit část cesty
Přečteno: 357×
Dobrý večer, nevím jak mám z proměné odstranít string (různé délky) za posledním lomítkem (včetně posledního lomítka). Děkuji

Řešení dotazu:


Odpovědi

4.2. 00:12 debian+
Rozbalit Rozbalit vše Re: Bash - Jak odstranit část cesty
4.2. 00:14 Vlado
Rozbalit Rozbalit vše Re: Bash - Jak odstranit část cesty
dirname
4.2. 00:21 Janek
Rozbalit Rozbalit vše Re: Bash - Jak odstranit část cesty
Pánové mám v zadání chybu, omlouvám se. Potřebuji odstranit z proměné string (různé délky) před posledním lomítkem (včetně posledního lomítka). Děkuji
4.2. 00:37 Janek
Rozbalit Rozbalit vše Re: Bash - Jak odstranit část cesty
Raději uvedu ještě příklady. Tučně označené znaky potřebuji z proměnné odstranit. Děkuji
sffs/
asdasd/gfdsfsdf/asdsadas/
gdgdfg/asdsadasd/fsddgfd/asdsadasds/fsdfdff/sdfdfsdfg/
Jendа avatar 4.2. 01:18 Jendа | skóre: 75 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Bash - Jak odstranit část cesty
$ echo gdgdfg/asdsadasd/fsddgfd/asdsadasds/fsdfdff/sdfdfsdfg/ | rev | cut -d / -f 3- | rev
gdgdfg/asdsadasd/fsddgfd/asdsadasds/fsdfdff
Postavil si radar na kopci. Ale viděl na něm věci.
4.2. 01:51 Andrej | skóre: 47 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Bash - Jak odstranit část cesty

Jednoduchý příklad:

shopt -s extglob
cesta='asdasd/gfdsfsdf/asdsadas/'
echo "${cesta%%*([^/])/}"

Podrobněji k tématu:

cesty=(
  [0]='sffs/'
  [1]='asdasd/gfdsfsdf/asdsadas/'
  [2]='gdgdfg/asdsadasd/fsddgfd/'
  [2]+='asdsadasds/fsdfdff/sdfdfsdfg/'
)

# Toto je jen pro jistotu; bývá to zapnuté:
shopt -s extglob

# Pouze výpis pozměněných cest:
for cesta in "${cesty[@]}"; do
  # První možnost:
  echo "'${cesta}' -> '${cesta%%*([^/])/}'"

  # Druhá možnost:
  echo "'${cesta}' -> '${cesta/%*([^\/])\/}'"
done

# Transformace pole cest do nových polí:
bez_konce_1=("${cesty[@]%%*([^/])/}")
bez_konce_2=("${cesty[@]/%*([^\/])\/}")

# Výpis pro kontrolu:
for index in "${!cesty[@]}"; do
  echo "'${cesty[index]}' -> '${bez_konce_1[index]}'"
  echo "'${cesty[index]}' -> '${bez_konce_2[index]}'"
done
ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
Řešení 1× (Bherzet)
4.2. 01:58 Andrej | skóre: 47 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Bash - Jak odstranit část cesty

Nebo pokud je v tom cvičení povolený dirname ;-) tak takhle:

shopt -s extglob
cesta='asdasd/gfdsfsdf/asdsadas/'
echo "$(dirname "${cesta}")/"

dirname se dá taky použít s těmi poli a dalšími triky výše. Ale pozor, dirname nemusí nutně každý považovat za (čistý) Bash, takže záleží na zadání. :-)

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
4.2. 02:02 Andrej | skóre: 47 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Bash - Jak odstranit část cesty

extglob je tam teď samozřejmě na houby — copy&paste chyba.

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
k3dAR avatar 4.2. 14:57 k3dAR | skóre: 56
Rozbalit Rozbalit vše Re: Bash - Jak odstranit část cesty
v podstate je tam na houby i to echo :-) chapu ze se striktne drzis prikladu kde vypada ze na konci chce mit /, ale vem to z praxe, to pak bude pouzivat ${zjistenej_adresar}${soubor_v_nem}, nebo citelneji ${zjistenej_adresar}/${soubor_v_nem} s tim ze se to interpretuje pak jako // i kdyz to nejspis nicemu nevadi... z praxe je podle me vhodne mit konec promene bez / a lomitko davat v pripade potreby az za tu promenou.
cesta='asdasd/gfdsfsdf/asdsadas/'
dirname "${cesta}"
porad nemam telo, ale uz mam hlavu... nobody
4.2. 23:18 Andrej | skóre: 47 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Bash - Jak odstranit část cesty

Ano, s lomítkem je to složité, zejména když přijde na to, jaký speciální význam mu dává třeba rsync.

Tady jsem vycházel z toho, že zadání prostě vyžaduje lomítko.

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
Řešení 1× (camel1cz)
4.2. 01:01 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: Bash - Jak odstranit část cesty
basename
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
4.2. 23:10 Andrej | skóre: 47 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Bash - Jak odstranit část cesty

Ne, dirname.

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
4.2. 14:19 Kit | skóre: 43 | Brno
Rozbalit Rozbalit vše Re: Bash - Jak odstranit část cesty
echo "${string%/*/}"
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
4.2. 23:16 Andrej | skóre: 47 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Bash - Jak odstranit část cesty

Plus / na konec…

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
4.2. 15:28 PetebLazar
Rozbalit Rozbalit vše Re: Bash - Jak odstranit část cesty
Nestačí pouze k řetězci přidat "../"? ;-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.