Alweer een Bash vraagje.
Ik heb een file met de volgende vorm:
Ik wil de file filteren op 1 veld.
Dus het volgende:
Maar ik heb het gevoel dat dit een stuk efficiënter moet kunnen ...
Het zou geweldig zijn als bovenstaande mogelijk was op dezelfde manier als je bvb. grep gebruikt en dit ook te pipen valt ... Wie toont mij het licht?
Een bijkomend probleem in het bovenstaande voorbeeld:
Als er bvb. een sterretje (*) ergens in de lijn voorkomt, dan wordt dit door bash vertaald voordat de lijn in de variabele gestopt wordt.
Als de input lijn bvb de volgende is:
Dan bevat LINE de volgende inhoud:
Waarbij filex de files zijn die in de werkdir staan.
Erg vervelend, en ik heb er geen enkel idee van hoe ik dit kan voorkomen ...
Ik denk dat ik toch maar een Java progje zal schrijven
.
Ik heb een file met de volgende vorm:
code:
1
| <veld1> <veld2> <veld3> ... <veldN> |
Ik wil de file filteren op 1 veld.
Dus het volgende:
code:
1
2
3
4
5
6
7
| while read LINE
do
if echo $LINE | cut -d ' ' -f x | grep PATTERN
then
echo $LINE >> FILTERED_FILE
fi
done < FILE |
Maar ik heb het gevoel dat dit een stuk efficiënter moet kunnen ...
Het zou geweldig zijn als bovenstaande mogelijk was op dezelfde manier als je bvb. grep gebruikt en dit ook te pipen valt ... Wie toont mij het licht?
Een bijkomend probleem in het bovenstaande voorbeeld:
Als er bvb. een sterretje (*) ergens in de lijn voorkomt, dan wordt dit door bash vertaald voordat de lijn in de variabele gestopt wordt.
Als de input lijn bvb de volgende is:
code:
1
| veld1 * veld3 |
Dan bevat LINE de volgende inhoud:
code:
1
| veld1 file1 file2 file3 veld3 |
Waarbij filex de files zijn die in de werkdir staan.
Erg vervelend, en ik heb er geen enkel idee van hoe ik dit kan voorkomen ...
Ik denk dat ik toch maar een Java progje zal schrijven
[ Voor 44% gewijzigd door DieterVDW op 08-10-2008 17:16 ]