Portál AbcLinuxu, 11. května 2024 16:03


Dotaz: Ako v scripte odstrániť posledný pridaný riadok do súboru?

Libco avatar 27.7.2008 19:00 Libco | skóre: 8 | Banska Bystrica - sk
Ako v scripte odstrániť posledný pridaný riadok do súboru?
Přečteno: 181×
Odpovědět | Admin
Ahoj všetkým,
príkazom:
cat subor1 >> subor2
#subor1 má jeden riadok a v cykle sa mení, subor2 má viac riadkov
pridám na koniec subor2 jeden riadok a po nejakom čase (sleep) ho chcem odstrániť a dať tam nový riadok, nový subor1.

Najprv som to skúsil v konzole a všimol som si že sa vytvorí nový subor2 a starý sa premenuje na subor2~.
Tak som skúsil toto:
rm subor2
mv subor2~ subor2
Toto fungovalo, ale problém nastal, ked som to dal do scriptu do cyklu. Po chviľke mi vypisovalo že súbor2~ neexistuje. A v subor2 ostal len ten jeden nový riadok, ostatné riadky (pôvodné, ktoré som chcel aby tam ostali bez zmeny) sú preč.
Poradí mi niekto akým spôsobom (príkazom) sa dá odstrániť len ten posledný riadok?
lama
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.7.2008 19:09 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Ako v scripte odstrániť posledný pridaný riadok do súboru?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Poradí mi niekto akým spôsobom (príkazom) sa dá odstrániť len ten posledný riadok?
viz man tail
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
wamba avatar 27.7.2008 19:25 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: Ako v scripte odstrániť posledný pridaný riadok do súboru?
Já bych spíše, řekl: man head
head -n -1 soubor
This would have been so hard to fix when you don't know that there is in fact an easy fix.
27.7.2008 19:31 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Ako v scripte odstrániť posledný pridaný riadok do súboru?
Odpovědět | | Sbalit | Link | Blokovat | Admin
sed -e '$d' soubor > soubor.out

pokud chcete 'in place' edit tak novejsi sedy umi parametr -i, nebo pouzijete trik

(rm -f soubor; sed -e '$d' > soubor) < soubor
In Ada the typical infinite loop would normally be terminated by detonation.
Libco avatar 27.7.2008 19:59 Libco | skóre: 8 | Banska Bystrica - sk
Rozbalit Rozbalit vše Re: Ako v scripte odstrániť posledný pridaný riadok do súboru?
Dakujem,
sed -e '$d' soubor > soubor.out
rm soubor
mv soubor.out soubor
funguje, len to prepisuje parametre, ale to som vyriešil riadkom
chmod 755 soubor
lama

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.