Toon posts:

script om bestandjes te controleren in linux

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een bestand in linux met een aantal regels, elke regel bevat een filename gevolgd door een $ en een getal.
Nu wil ik een scriptje maken om te controleren of die bestandjes er allemaal zijn. De lus moet zeggen "ok" als alle bestandjes er zijn en "niet ok" als er bestandjes ontbreken.
Ik heb wat in manual pages van sed en awk zitten neuzen maar daar wordt ik vooralsnog niet veel wijzer van (blijkbaar ben ik niet zo slim als ik dacht :) )
Kan iemand me hiermee op weg helpen?

  • mavink
  • Registratie: April 2000
  • Laatst online: 27-05 09:16
Ik zou eens een poging wagen met perl.

Verwijderd

Topicstarter
ook goed
blijft de vraag hetzelfde...

  • mavink
  • Registratie: April 2000
  • Laatst online: 27-05 09:16
Doe eens een voorbeeld van dat bestand? Staat die $ direct achter de bestandsnaam of staat er een spatie tussen?

Verwijderd

Topicstarter
../data/plaatje1.jpg$20
../data/plaatje2.jpg$10
../data/plaatje3.gif$10

Verwijderd

for i in `cat <bestand>|cut -d$ -f1`; do ls -la $i; done

zoiets?

  • mavink
  • Registratie: April 2000
  • Laatst online: 27-05 09:16
Volgens mij bedoelt-ie zoiets:
code:
1
2
3
4
5
6
7
#!/usr/bin/perl
while (($line,@rest)=split(/\$/,<STDIN>)) {
  if (! -e $line) {
    print "Niet OK!\n";
    exit; }
}
print "OK!\n";

Je roept het aan met ./script.pl < lijst_met_bestanden, en dan print-ie een regeltje met OK of Niet OK.

Verwijderd

Topicstarter
Dit doet inderdaad wat ik bedoel. Top.
ik moest hem alleen uitvoeren m.b.v. een pipe, ofwel cat <bestandsnaam> | ./script.pl
en dan loopt ie

  • mavink
  • Registratie: April 2000
  • Laatst online: 27-05 09:16
Het kan ook met ./script.pl < bestandsnaam, maar goed. Perl is de beste uitvinding sinds computers wat mij betreft.
Pagina: 1