Minulla olisi eräs iso xml-tiedosto, josta pitäisi saada tietyt rivit ihan vain tulostettua ruudulle tai tiedostoon. Toki xml-tiedoston parsintaan on omat ohjelmansa, mutta grepillä tuo varmasti sujuu nopeammin. Tarkoitus on siis etsiä kahta riviä samasta tiedostosta ja tulostaa rivit. Olen suorittanut seuraavan komennon
cat tiedosto.xml | grep 'jotainjotain'
Tuo komento palauttaa kaikki ne rivit, joissa esiintyy merkkijono 'jotainjotain'. Mutta kuinka ko. komennolla haetaan ne rivit, joissa esiintyy eri hakuarvot? Esim. 'jotainjotain' ja 'jokujoku'
cat tiedosto.xml | grep 'jotainjotain'
Tuo komento palauttaa kaikki ne rivit, joissa esiintyy merkkijono 'jotainjotain'. Mutta kuinka ko. komennolla haetaan ne rivit, joissa esiintyy eri hakuarvot? Esim. 'jotainjotain' ja 'jokujoku'
Vastaukset 3
Vanhimmat
pistät vaan lisäputkea kehiin...
cat tiedosto.xml | grep "jotainjotain\|jokujoku"
En juuri nyt pääse testaamaan komentoa, mutta saako siihen komentoon lisättyä "älyä" siten, että jos ensimmäinen "jotainjotain" löytyy, niin samasta xml-dokumentista pitäisi löytyä sitten myös "jokujoku"? Jos "jotainjotain" -merkkijonoa ei löydy, mutta "jokujoku" löytyy, niin "jokujoku"-merkkijonoa ei palauteta. Tämä varmaan vaatii jo shell -skriptin...