Portál AbcLinuxu, 6. května 2024 13:38


Dotaz: REPLY - formátovací znaky

23.8.2004 13:59 Filip Hesse | skóre: 20
REPLY - formátovací znaky
Přečteno: 83×
Odpovědět | Admin

Potřebuji číst z řádku první slovo, druhé slovo a zbytek. Nemůžu přijít na formátovací znaky u REPLY. Z man bash jsem také nic nevyčetl, je to tam jehla v kupce sena.

Budu číst: jmena_a_hesla
uzivatel otisk_hesla popis uzivatele s mezerami
dalsi_uzivatel otisk_helsa popis uzivatele s mezerami

Pracovat s tím budu popocí:
cat jmena_a_hesla | while read; do
jmeno=${REPLY%% *}
heslo=${REPLY ???}
popis=${REPLY ???}
useradd -c $popis -m $jmeno
usermod -p $heslo $jmeno
done

jmena_a_hesla ještě napsaný nemám (jenom zkušební), jestli mám nevhodnou strukturu popisu uživatele, není problém předělat. Předem díky za nápady.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.8.2004 14:42 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: REPLY - formátovací znaky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Já bych ti sice řekl, jak to uděláš, ale ...

... není lepší to psát v perlu (($login,$pwd,$desc) = split/ /,$line,3;) ...

... pythonu (login,pwd,desc = line.split(' ', 3)) ...

... nebo alespoň použít oddělovač, který nemůže být součástí popisu (dvojtečka se sama nabízí).
23.8.2004 21:09 Filip Hesse | skóre: 20
Rozbalit Rozbalit vše Re: REPLY - formátovací znaky

Tak mi tedy, prosím, řekni, jak to udělám. Na počítačích je stará verze SuSE - minimální konfigurace. Perl nebo Pythlon tam nejsou (skoro určitě ne). Stejně bych raději řešení Bash skripty, něco se naučím, budu o trošku chytřejší. Perl a Pythlon neznám vůbec, a když bude čas, raději ho věnuji Céčku. Případné řešení bych opsal, ale nepochopil.

Můj původní požadavek je asi trochu přehnaný, bohatě stačí, když popis uživatele bude jednoslovný. Na každém řádku heslového seznamu bude tedy: "username password_otisk zařazení". Tím si asi hodně usnadníme. Je mi jedno, jestli mi mezi jednotlivé položky doporučíš tab, mezeru, nebo dvojtečku.

23.8.2004 21:12 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: REPLY - formátovací znaky
read jmeno heslo popis, zrovna tohle mi nijak krkolomné nepřijde (pokud mi nějaký problém neuniká).
24.8.2004 07:07 Filip Hesse | skóre: 20
Rozbalit Rozbalit vše Re: REPLY - formátovací znaky

Nepochopil jsem znaky za REPLY. "%% *" znamená první slovo. Ale co druhé a třetí? Nebo alespoň druhé a poslední.

24.8.2004 08:05 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: REPLY - formátovací znaky
Znaky %% * vůbec neznamenají první slovo. Co takhle si přečíst bash(1). To, že tak jde získat první slovo, je naprosto čistá shoda náhod a kdyby jste si RTFM, tak se nemusíte vůbec ptát. Kromě toho vám twofish poradil mnohem elegantnější způsob a ten funguje způsobem, který je popsaný kupodivu opět v bash(1). Tak co vlastně chcete slyšet? To sem mám tu část bash(1) vložit, nebo si ji najdete sám? Ještě vám tak maximálně můžu poradit /^ *parameter expansion Nebo je to SUSE tak očesané, že nemá ani manuálovou stránku bashe? Tak to bych doporučil rm -rf /. Nebo by jste chtěl rovnou celý script?
while read jmeno heslo popis
do
  useradd -c $popis -m $jmeno
  usermod -p $heslo $jmeno
done <jmena_a_hesla
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
24.8.2004 09:02 Filip Hesse | skóre: 20
Rozbalit Rozbalit vše Re: REPLY - formátovací znaky

To je ono, díky.

V man bash, jak už jsem psal výš, je to jako jehla v kupce sena. A když se Bash skripty teprve učím, byl to problém. Tak, prosím, trochu trpělivosti se mnou.

24.8.2004 10:51 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: REPLY - formátovací znaky
Ale božíčku, vždyť to má jen 33932 slova na 4006 řádcích ;-) Já jsem z toho určitě nepřečetl víc jak 5%, ale vzhledem k možnosti rychlého hledání to snad není problém, ne?
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.