liste lignes de fichiers d'un meme dossier

liste lignes de fichiers d'un meme dossier - Shell/Batch - Programmation

Marsh Posté le 24-04-2005 à 16:15:03    

bonjour,
 
je recherche une combinaison de commandes shell pour lister des lignes présentant la même occurence provenant de plusieurs fichiers d'un meme dossier (rangées dans l'ordre inverse de modification des fichiers) j'en suis à grep "occurence" | ls .. il me reste de la route..
 
Merci d'avance de votre aide

Reply

Marsh Posté le 24-04-2005 à 16:15:03   

Reply

Marsh Posté le 24-04-2005 à 16:18:59    

tu peux etre plus clair ?


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 24-04-2005 à 17:20:27    

Désolé de ne pas avoir été assez clair,
enfait j'au un dossier "dossier" comprenant plusieurs fichiers textes "fichier1"+recent "fichier2"+vieux dans chaque fichier il y a plusieurs lignes avec parfois une occurence "occurence"
je veux lister les lignes comportant l'occurence en les rangeant PAr rapport au fichier du plus recent au plus vieux
du style
 
..........."occurence" ...............(provenant du fichier le plus recent)
..........."occurence" ..........(provenant d'un fichier plus vieux)
...................."occurence"...........
 
suis je plus clair?
Merci

Reply

Marsh Posté le 24-04-2005 à 19:05:17    

Quel OS ?
Sinon grep sous Linux, findstr sous XP le font.

Reply

Marsh Posté le 24-04-2005 à 19:19:43    

for i in `ls -t`; do echo "--- $i ---"; cat $i |grep occurence; done


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 25-04-2005 à 00:40:42    

"grep occurence $i" au lieu de "cat $i |grep occurence", merci :D

Reply

Marsh Posté le 25-04-2005 à 22:33:45    

Merci de votre aide.  
je dois donc inclure ces lignes dans un fichier .sh?
Est-ce que je peux si j'ecris cela dans un fichier ecrire:?
for i in `ls -t`; do echo "--- $i ---";
grep $1 $i;
done;  
et faire fichier.sh occurence
?
pour ta modification matafan je ne comprends pas trop il faut bien ouvrir chaque fichier et rechercher l'occurence d'ou le cat non?

Reply

Marsh Posté le 26-04-2005 à 04:26:06    

Si tu veux mettre ça sur plusieurs lignes ça donne :

#!/bin/sh
for i in `ls -t`
do
    echo "--- $i ---"
    grep $1 $i
done


grep peut prendre un nom de fichier en argument, donc le cat est inutile. D'ailleurs même s'il ne prenait pas un nom de fichier en argument, on pourrait toujours faire "grep pattern < file", qui est mieux que "cat file | grep pattern". Le cat est inutile et donc à proscrire.


Message édité par matafan le 26-04-2005 à 04:27:11
Reply

Marsh Posté le 26-04-2005 à 10:06:44    

ok merci de ces précisions

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed