Portál AbcLinuxu, 14. května 2025 01:37

Dotaz: jak vhodne ( a cim) pridat radek do txt souboru

8.6.2006 15:40 Petr Valek
jak vhodne ( a cim) pridat radek do txt souboru
Přečteno: 118×
Odpovědět | Admin
Ahoj, chtel bych vas pozadat o radu a pomoc pri reseni problemu na ktery zatim nestacim. ( ukazka formatu souboru )
Mam textovy soubor ( services ) 
tfido           60177/udp
fido            60179/tcp                       # Ifmail
fido            60179/udp

a potreboval bych do nej pridat jeden radek napr.
mujservis            60555/tcp
tak aby se pridal pouze jednou. Zamyslim pomoci davky spustit nejaky prikaz z login scriptu ( windows domena ) a dany prikaz by mel na uzivatelske stanici zkontrolovat onen soubor a v pripade ze zaznam neni doplnit, v pripade ze uz je tak nedelat nic. Vzhledem k zamyslenemu urceni v login scriptu by mel prikaz byt napr. jeden exe soubor ( napr. sed.exe z wi32 gnu utilit ( proto je napr. priklad v jazyce perl, python k nicemu ) ) . Stahnul jsem si tyto utility, ale nemuzu nejak vykoumat jak na to, ani si nejsem jisty jestli je na tento ukol vhodny sed. Prosim proto zkusenejsi o radu jak na to ... Diky moc
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.6.2006 15:55 Martin Beránek | skóre: 33 | blog: mousehouse | Brno
Rozbalit Rozbalit vše Re: jak vhodne ( a cim) pridat radek do txt souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
grep na zjisteni jestli ten soubor obsahuje dany radek a kdyz ne tak echo "mujservis 60555/tcp" >> services
never use rm after eight
8.6.2006 15:59 Dunric | skóre: 21
Rozbalit Rozbalit vše Re: jak vhodne ( a cim) pridat radek do txt souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nevím, jestli jsem zcela pochopil, ale např.

my_insert="mujservis            60555/tcp"
if ! fgrep -q ${my_insert} /etc/services ; then
  echo ${my_insert} >> /etc/services
fi

In the garden sleeps a messenger ·
8.6.2006 17:04 Petr Valek
Rozbalit Rozbalit vše Re: jak vhodne ( a cim) pridat radek do txt souboru
Diky moc, tohle presne ono a je to takovy jednoduchy kdyz to jeden umi :-)
8.6.2006 16:17 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: jak vhodne ( a cim) pridat radek do txt souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Třeba takhle:
str_to_add = 'fido            60179/udp\n'
f = file('services', 'r+w')
for line in f: pass
if line != str_to_add:
    f.write(str_to_add)
Funguje to, ale vůbec se mi to nelíbí. Asi to předělám.
8.6.2006 16:25 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: jak vhodne ( a cim) pridat radek do txt souboru
Mimochodem, volat python z login scriptu je úplně běžná věc.
Josef Kufner avatar 8.6.2006 18:27 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: jak vhodne ( a cim) pridat radek do txt souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Proč to dělat jednoduše, když to jde složitě...
grep '^mujservis' /etc/services \
|| echo "mujservis            60555/tcp" >>/etc/services
Hello world ! Segmentation fault (core dumped)

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.