Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

OS Linux

help met bash shell script

graat
3 antwoorden
  • Hallo!

    Ik moet een groot aantal files op alfabet sorteren. Ik schreef (met wat hulp) daarvoor het volgende script:

    #!/bin/bash
    for I in **.txt;
    do sort $I > $I;
    done

    Het levert lege files op. Met een >> wordt het gesorteerde bestand aan het originele bestand toegevoegd. Dat is beter dan niks maar wissen is veel werk. Naar een ander bestand werkt ook, maar dan moet alles hernoemd worden…
    Wie heeft een tip?
    bvd. Geert
  • [b:e14b7e620a]ls *.txt > lijst[/b:e14b7e620a]

    ls sorteert zelf al.

    wat ook kan:

    [b:e14b7e620a]ls *.txt | sort > lijst[/b:e14b7e620a]

    maar dat is dus niet nodig. De for-do-done constructie is helemaal niet nodig ! :grin:

  • O sorry, ik begrijp je geloof ik verkeerd; je wilt de [b:e225a09df6]inhoud[/b:e225a09df6] van de files sorteren:

    [code:1:e225a09df6]
    #!/bin/bash

    for i in *.txt
    do
    sort $i > $i.new &&
    mv -f $i.new $i
    done
    [/code:1:e225a09df6]

    sorteert elke .txt file naar een .txt.new file en hernoemt die als de sorteer actie lukte weer naar de oude naam.

    Je moet hem namelijk eerst naar een andere file schrijven, anders wordt de nieuwe aangemaakt en daarmee de oude overschreven voor-ie helemaal uitgelezen is.

    Succes!

    _________________
    Wilbert (http://www.xs4all.nl/~wbsoft/)
    Wanneer gaat een HTML document onder Windows [b:e225a09df6]Microsoft(r) Internet Explorer Document[/b:e225a09df6] heten?
    Mijn [i:e225a09df6]LFS-install.log[/i:e225a09df6]

    [ Dit bericht is bewerkt door: wbsoft op 2002-04-07 22:46 ]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.