[ fascinom @ 27.01.2005. 09:18 ] @
Kako obrisati veliki broj komentiranih linija nekog .conf filea ? Zelim dobiti samo prazne i aktualne konfiguraciske linije. |
[ fascinom @ 27.01.2005. 09:18 ] @
[ vladab @ 27.01.2005. 09:35 ] @
Najlakse ti je da napises skriptu koja ce da brise te linije (ako pocinje sa # onda brisi). Ja, licno, bih napisao program u C-u koji kao arument ima ime fajla, a to bih uradio jer nisam vican ni perlu ni bashu, pa bih morao da ih ucim. To je ono sto meni pada na pamet. :O)
[ Jbyn4e @ 27.01.2005. 09:53 ] @
Sed bi ti mogao pomoci...
http://www.linux.com/guides/abs-guide/x16358.shtml Obrati paznju na /GUI/d Delete all lines containing "GUI". znaci u tvom slucaju bi verovatno moglo nesto kao /#/d ili /^#/d (nisam se skoro zezao sa sed-om, pa se zaboravilo...) Javi sta si uspeo da uradis.... (pre toga obavezno napravi BACKUP tih fajlova koje zelis da menjas...) [ fascinom @ 27.01.2005. 10:11 ] @
Rjesio sam to prilicno nespretno. :)
sed /#/d test.conf > test.conf.out && sed /^$/d test.conf.out > test.conf.out2 Hvala. [ VRider @ 27.01.2005. 10:24 ] @
grep -v ^# test.conf > test.conf2 && mv test.conf2 test.conf.
[ duxxx001 @ 28.01.2005. 16:33 ] @
Citat: fascinom: Rjesio sam to prilicno nespretno. :) sed /#/d test.conf > test.conf.out && sed /^$/d test.conf.out > test.conf.out2 Hvala. mozes ovako: sed -i "/^[\t\ ]*#/d; /^$/d" test.conf Tvoj pristup (citiran) moze biti problematican, u slucaju da ti se # nalazi nakon neke vazne linije, recimo nesto tipa: -------- # Conf file auth-info 7 # Configure info ... <-- ovo se ne sme obrisati --------- Pozdrav, Dusan [ panorama011 @ 22.02.2006. 22:21 ] @
A kako da izbacim viskove iz fajla koji je sledeceg oblika:
4 linije ponovljene te iste 4 linije druge 4 linije ponovljene druge 4 linije ... Meni treba da imam sve samo po jednoom, znaci: 4 linije druge 4 linije trece 4 linije Nadam se da je jasno sta pitam :) Hvala unapred [ Backy @ 22.02.2006. 22:44 ] @
evo ga primer:
Code: 1 2 3 4 1 2 3 4 5 6 7 8 5 6 7 8 pa uradiš find&replace i tu kucaš find: Code: replace with: 1 2 3 4 1 2 3 4 Code: 1 2 3 4 i tako za svake 4 linije... [ panorama011 @ 22.02.2006. 23:08 ] @
Pa nemoj me zezati, znam rucno da izbrisem, ali sam mislila da to resim elegantnije, nekom shell skriptom, ili perl ili C, svejedno.
[ anrxc @ 22.02.2006. 23:28 ] @
awk '!x[$0]++' fajl
Obrisat ce sve duplicirane linije. [ panorama011 @ 23.02.2006. 23:39 ] @
To je pomoglo, hvala. :)
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|