ne razresujemo zvezdice.
Lep pozdrav,
Ales
-Original Message-
From: Andrej Lajovic [mailto:[EMAIL PROTECTED]
Sent: 9. januar 2005 1:10
To: Glavni dopisni seznam LUGOSa
Subject: Re: [LUGOS] bash skripta za brisanje *.tmp
On Sat, 8 Jan 2005, Matija Grabnar wrote:
> Nisem se naletel
On Sat, 8 Jan 2005, Matija Grabnar wrote:
Nisem se naletel na primer, kjer bi xargs podal prevec parametrov
svoji komandi (da bi bil arg list too long).
S čim je število argumentov pravzaprav omejeno? Meni se je enkrat že
zgodilo, da jih je bilo preveč, ampak ni šlo za xargs, temveč za nekaj v
st
On Sat, Jan 08, 2005 at 03:40:06PM +0100, Rok Krulec wrote:
> Pri tej resitvi nastane problem, ce je preveliko datotek, ker potem je
> seznam argumentov za rm predolg in rm prekine brez da bi kaj pobrisal.
>
> Argument list too long ! rece ponavadi.
Nisem se naletel na primer, kjer bi xargs podal
Pri tej resitvi nastane problem, ce je preveliko datotek, ker potem je
seznam argumentov za rm predolg in rm prekine brez da bi kaj pobrisal.
Argument list too long ! rece ponavadi.
Poleg tega mislim, da je iz vidika obremenjenosti sistema boljse pognati
1000 rm-jev, kot pa 1 rm s 1000 argumenti.
Andrej Lajovic wrote:
On Tue, 4 Jan 2005, Jaka Močnik wrote:
prej predlagana varianta s 'find' je neprimerno bolj elegantna.
Kaj pa tole:
find -name '*.tmp' -print0 |xargs --null rm
Ne poganja enega procesa rm za vsako datoteko, ki jo najde, ampak samo
enega na koncu. Še vedno počasneje od locate
In the message I received, David Klasinc writes:
>| prej predlagana varianta s 'find' je neprimerno bolj elegantna.
>
>In neprimerno pocasnejsa... ;)
Ampak zato prebere dejansko stanje na disku in se ne zanasa na azurnost
baze datotek na disku, kot to dela locate. In ja, klicati rm za vsako
datot
On Tue, 4 Jan 2005, Jaka Močnik wrote:
prej predlagana varianta s 'find' je neprimerno bolj elegantna.
Kaj pa tole:
find -name '*.tmp' -print0 |xargs --null rm
Ne poganja enega procesa rm za vsako datoteko, ki jo najde, ampak samo
enega na koncu. Še vedno počasneje od locate, je pa verjetno bolj
On Wednesday, January 5, 2005, 11:50:11, Nejc Škoberne wrote:
> No, ravnokar sem ugotovil, da sintaksa:
> for file in "`locate expr`"
> pa lepo deluje.
Ne bi smela - dvojni narekovaji pomenijo, da se celoten rezultat `locate expr`
vrne kot 1 spremenljivka - poizkusi tole:
for f in "`locate lilo.
Ne delaj se pametnega.
? Oprosti, ce si to razumel kot pametovanje, to vsekakor ni bil namen.
Ocitno tega nisi poskusil, ampak
samo ugibas. Jaz sem ta postopek ze velikokrat uporabil
in VEM, da deluje. Kratka demonstracija:
Seveda sem poskusil. Deluje, ce uporabis for zanko tako kot si jo
spodaj
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Jernej Simoncic wrote:
|
| Originalno vprašanje se je nanašalo na output ukaza locate, kjer bash kot
| ločilo uporablja tako presledke kot prelome vrstic.
AFAIK je vseeno...
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using
On Tuesday, January 4, 2005, 20:29:00, Matija Grabnar wrote:
> Ne delaj se pametnega. Ocitno tega nisi poskusil, ampak
> samo ugibas. Jaz sem ta postopek ze velikokrat uporabil
> in VEM, da deluje. Kratka demonstracija:
Originalno vprašanje se je nanašalo na output ukaza locate, kjer bash kot
lo
On Tue, Jan 04, 2005 at 05:31:28PM +0100, Nejc ?koberne wrote:
> >Zamenjaj rm $i z
> >rm "$i"
>
> To seveda se vedno ne bo delovalo. Problem je namrec v delovanju
> bashove for zanke - za delimiter vzame ali "\n" ali " ", torej stvar
> se vedno ne bo delovala.
Ne delaj se pametnega. Ocitno tega
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
| prej predlagana varianta s 'find' je neprimerno bolj elegantna.
In neprimerno pocasnejsa... ;)
- --
David!
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFB2uizz
pouÄno branje je 'man bash', poglavje 'expansion'.
Uh, hvala za tole!
prej predlagana varianta s 'find' je neprimerno bolj elegantna.
Res je, vendar pa je to super resitev, ko je treba kaksne .csv fajle
parsat v MySQL, recimo ...
--
Nejc Åkoberne
E-mail: [EMAIL PROTECTED]
On Tuesday, January 4, 2005, 17:31:28, Nejc Škoberne wrote:
> Kako se pa to elegantno resuje?
Jaz to delam tako:
find -iname '*' | while read f; do ...
--
< Jernej Simoncic ><><><><>< http://deepthought.ena.si/ >
No man is lonely while eating spaghetti.
-- Morley's Conclusion
On Tue, 2005-01-04 at 16:23 +0100, xrado wrote:
> #updatedb
>
> #!/bin/bash
> for i in $( locate *.tmp);
> do
>rm $i
> done
poskusi takole:
export IFS=,
for F in $(locate *.tmp); do
rm $F
done
po potrebi vrednost IFS (tokrat ',') zamenjaj z znakom, ki ziher ne
nastopa v imenu nobene
Zamenjaj rm $i z
rm "$i"
To seveda se vedno ne bo delovalo. Problem je namrec v delovanju
bashove for zanke - za delimiter vzame ali "\n" ali " ", torej stvar
se vedno ne bo delovala.
Jaz sem se tega problema vedno lotil bolj po kmecko - output od
locate-a sem directal v en file, nato pa sel sk
Kaj pa če poskusiš samo takole:
find -name "*.tmp" -exec rm "{}" \;
LP, Jernej Kos.
On Tuesday 04 of January 2005 16:23, xrado wrote:
> #updatedb
>
> #!/bin/bash
> for i in $( locate *.tmp);
> do
>rm $i
> done
>
> zgornja skripta dela cisto uredu ce fajli imajo presledkov v imenu
> ce pa so,
xrado wrote:
ce pa so, se v for zanki razlomijo na nove spremenljivke in ne dobim
prave vsebin v $i
Zamenjaj rm $i z
rm "$i"
___
lugos-list mailing list
lugos-list@lugos.si
http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-list
On Tue, 4 Jan 2005, xrado wrote:
> #updatedb
>
> #!/bin/bash
> for i in $( locate *.tmp);
> do
>rm $i
> done
>
> zgornja skripta dela cisto uredu ce fajli imajo presledkov v imenu
> ce pa so, se v for zanki razlomijo na nove spremenljivke in ne dobim
> prave vsebin v $i
> poskusal sm z "echo"
#updatedb
#!/bin/bash
for i in $( locate *.tmp);
do
rm $i
done
zgornja skripta dela cisto uredu ce fajli imajo presledkov v imenu
ce pa so, se v for zanki razlomijo na nove spremenljivke in ne dobim
prave vsebin v $i
poskusal sm z "echo" namesto rm.
kako bi to resil?
lp
rado
___
21 matches
Mail list logo