Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Pomoc se skriptíčkem (práce s řetězcem). [Vyřešeno.]  (Přečteno 1418 krát)

iX

  • Aktivní člen
  • *
  • Příspěvků: 468
Potřeboval bych pomoc se skriptíčkem:
Řekněme, že výstup příkazu  blkid -U 78AD-98FA  je někdy:  /dev/sda1, někdy:  /dev/sdb1, jindy /dev/sde1 ...atd.
Já potřebuju následně změnit tu jedničku na konci na trojku - se zachováním správného písmenka (třeba /dev/sde3).
A tento výsledek pak použít jako parametr dalšího příkazu.
Nevěděl by někdo jak na to? (O skriptování a práci s řetězci nevím skoro nic :-\).
« Poslední změna: 08 Února 2012, 11:04:30 od iX »

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Pomoc se skriptíčkem (práce s řetězcem).
« Odpověď #1 kdy: 08 Února 2012, 10:51:31 »
musis do sveho skripticku pouzit stream line editurek jako treba sediik:

Kód: [Vybrat]
> echo fuj | sed 's/fuj/mnam/'
mnam

viz manual k sedu, treba tohle tohle http://sed.sourceforge.net/sed1line_cz.html a nebo:

http://www.root.cz/clanky/neco-malo-o-sedu/
http://www.root.cz/clanky/hratky-z-radky-tr-sed-awk-a-ti-dalsi/
http://www.osnews.com/story/21004/Awk_and_Sed_One-Liners_Explained
« Poslední změna: 08 Února 2012, 10:58:51 od ntz_reloaded »
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

iX

  • Aktivní člen
  • *
  • Příspěvků: 468
Re:Pomoc se skriptíčkem (práce s řetězcem).
« Odpověď #2 kdy: 08 Února 2012, 11:04:03 »
Děkuji za navedení za světlem! ;)

Asi nejjednodušší je:  blkid -U 78AD-98FA | tr "1" "3"

iX

  • Aktivní člen
  • *
  • Příspěvků: 468
Re:Pomoc se skriptíčkem (práce s řetězcem). [Vyřešeno.]
« Odpověď #3 kdy: 08 Února 2012, 12:46:15 »
A Ou. Nějak jsem se zasekl... :(

Myslel jsem, že když místo toho /dev/sda3 v tomto příkazu:

sudo truecrypt --background-task -k /AA/EE/NN.dat /dev/sda3 /mnt/AA

dosadím:

sudo truecrypt --background-task -k /AA/EE/NN.dat 'blkid -U 78AD-98FA | tr "1" "3"' /mnt/AA

tak to pojede, ale ono EE!! Ten příkaz nebere vnořené příkazy jako argumenty.

Jak z toho wen?

 :-*

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:Pomoc se skriptíčkem (práce s řetězcem). [Vyřešeno.]
« Odpověď #4 kdy: 08 Února 2012, 13:12:24 »
Jestli jsi to opravdu napsal takto, tak to fungovat nemůže. Jednoduché uvozovky subshell nespustí, ty obrácené ano, případně $(příkaz).

sudo truecrypt --background-task -k /AA/EE/NN.dat `blkid -U 78AD-98FA | tr "1" "3"` /mnt/AA

iX

  • Aktivní člen
  • *
  • Příspěvků: 468
Re:Pomoc se skriptíčkem (práce s řetězcem). [Vyřešeno.]
« Odpověď #5 kdy: 08 Února 2012, 13:18:05 »
Díky! Přesně tak to funguje! (Tam to nebyla mezera v cestě, ale další operand... ;))

Teprve teď jsem zaregistroval existenci dalších uvozovek - do teď jsem si myslel, že jde o znak idntický s '  :-)
« Poslední změna: 08 Února 2012, 13:21:11 od iX »

 

Provoz zaštiťuje spolek OpenAlt.