Un cat pour deux grep.... [challenge debile] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 03-06-2003 à 15:28:38
cat toto | grep "[^AA,^BB]" ??
Marsh Posté le 03-06-2003 à 15:31:57
tomate77 a écrit : cat file |grep ^{AA,BB} ?? |
et comment tu rediriges dans deux fichiers après ?
Marsh Posté le 03-06-2003 à 15:32:57
freds45 a écrit : |
t es trop exigent, contente toi de ca
Marsh Posté le 03-06-2003 à 15:35:03
fais ça avec gawk et pas grep... et puis pas besoin de cat dans l'histoire, grep (ou gawk) sait lire lui-même un fichier
Marsh Posté le 03-06-2003 à 15:36:34
Sixtiz a écrit : fais ça avec gawk et pas grep... et puis pas besoin de cat dans l'histoire, grep (ou gawk) sait lire lui-même un fichier |
habitude de cat fichier|grep toto
Marsh Posté le 03-06-2003 à 15:41:51
Je sais bien moi aussi je le fais souvent, mais c'est sous-optimal comme méthode
Bon, sinon :
gawk '/AA/ { print > "tata" } /BB/ { print > "titi" }' file
devrait marcher à peu de choses près (pas testé)
Marsh Posté le 03-06-2003 à 15:49:02
Sixtiz a écrit : Je sais bien moi aussi je le fais souvent, mais c'est sous-optimal comme méthode |
je vais tester ca ce soir !
pour /AA/ et /BB/ c'est possible de mettre un ^ devant pour lui indiquer que c'est le début de ligne, comme avec le grep ?
tata et titi ce sont les 2 noms de fichiers ?
Marsh Posté le 03-06-2003 à 15:51:16
Oui, tata et titi c'est le fichiers de destination, file le ficher source.
Et entre les //, c'est une expression régulière donc ^, $ et compagnie doivent marcher.
Marsh Posté le 03-06-2003 à 15:52:56
Sixtiz a écrit : Je sais bien moi aussi je le fais souvent, mais c'est sous-optimal comme méthode |
heu le "print >" marchera le premier coup mais apres, il va ecraser (ou tenter) le fichier ... non ?
Marsh Posté le 03-06-2003 à 16:00:09
Sixtiz a écrit : Oui, tata et titi c'est le fichiers de destination, file le ficher source. |
merci
Marsh Posté le 03-06-2003 à 16:36:18
freds45 a écrit : Voilà, je me posais une question (conne ) J'ai un fichier avec plusieurs lignes. Suivant le début de ces lignes, il faut placer la ligne en question dans un fichier de sortie ou un autre.
|
Avec un seul cat ? fastoche !
cat fichier|grep ^AA>toto |
(je suis déja dehors)
Marsh Posté le 03-06-2003 à 16:37:24
[Albator] a écrit :
|
Marsh Posté le 03-06-2003 à 16:40:07
En ultra porcos si tu insistes:
cat fichier|
while read ligne
do
echo $ligne|grep ^AA &>/dev/null && echo $ligne >>toto
echo $ligne|grep ^BB &>/dev/null && echo $ligne >>titi
done
Marsh Posté le 03-06-2003 à 15:23:51
Voilà, je me posais une question (conne ) J'ai un fichier avec plusieurs lignes. Suivant le début de ces lignes, il faut placer la ligne en question dans un fichier de sortie ou un autre.
Par exemple:
AAblablabladesdonnees01010101
BBunautretypededonneesici424242
AArevoicilepremiertype12345
On pourrait le faire avec:
cat fichier|grep ^AA>toto
cat fichier|grep ^BB>titi
mais je cherche un moyen (juste pour le fun ) de le faire avec seulement UN cat....
Qqun a une petite idée ?
---------------
Filmstory : gardez trace des films que vous avez vu ! :D