awk + une ligne awk syntaxe pour imprimer uniquement une fois que le deuxième champ si “vrai” mot appariés
Je ne sais pas comment faire avec awk
Mais mon objectif est de créer awk une syntaxe de ligne de commande pour imprimer le deuxième champ ($2) si
tous les premier champ ($1) sont remplies
par exemple
J'ai le fichier:
true my_name_is_lenon
true my_name_is_lenon
true my_name_is_lenon
false my_name_is_lenon
true my_name_is_lenon
false my_dog_is_fat
true my_dog_is_fat
true my_dog_is_fat
true I_am_very_tall
true I_am_very_tall
true I_am_very_tall
true my_ball_is_fine
true my_ball_is_fine
la awk imprimer uniquement le texte suivant:
I_am_very_tall
my_ball_is_fine
Parce que I_am_very_tall , my_ball_is_fine vraie sur le premier champ, sans faux
my_dog_is_fat , my_name_is_lenon pas imprimé, parce que le faux mot sur le premier champ
La règle est d'imprimer le deuxième champ si aucun faux mot sur le premier champ! (De toutes la même phrase sur le deuxième champ)
lidia
OriginalL'auteur lidia | 2010-07-23
Vous devez vous connecter pour publier un commentaire.
En voici une:
Edit:
Ici, il est sur plusieurs lignes:
OK, mais votre question a dit "awk une syntaxe de la ligne".
Je pense que c'est mieux de ne pas une ligne (dans le script sa pas l'air bien)
OriginalL'auteur Dennis Williamson
En supposant que chaque bloc est de la même catégorie.
OriginalL'auteur ghostdog74
Je ne suis pas sûr que c'est possible que awk one-liner. Au moins pas facilement. Est awk absolument nécessaire? Comme il y a un interpréteur de ligne de solutions disponibles si awk est juste une partie de la solution.
Par exemple, c'est un shell one-liner (juste une longue ligne):
Il n'est pas efficace, mais il fait le travail.
En comparaison, la plus courte awk solution que j'ai obtenu est d'environ 25 lignes (ce que je peux déposer ici en ici si vous voulez, laissez un commentaire et je vais mettre à jour ce en conséquence). Mais cela voudrait alors dire que vous pourriez économiser ce dans un fichier et de l'exécuter
awk -f alltrue.awk < {infile}
. Je ne suis pas sûr que ce strictement classes perl one-liner bien 🙂Une meilleure compréhension de ce que vous êtes finalement essayez d'atteindre ou de ce que cela pourrait être utile.
OriginalL'auteur Chris J
Et un autre:
Si vous souhaitez conserver l'ordre initial, vous aurez besoin de plus de code si.
OriginalL'auteur Dimitre Radoulov
Une autre solution compacte.
OriginalL'auteur glenn jackman
Ici est une autre façon:
OriginalL'auteur DanielAjoy
Ici est en une seule ligne:
my_ball_is_fine
I_am_very_tall
OriginalL'auteur ghub24