rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Script concaténer fichier

Posté par labas, le mardi 22 janvier 2008 à 15:37:17
Bonjour,

Je voudrais écrire un script shell qui pour tous les fichiers de format .txt se trouvant dans un répertoire donné, on doit :
1. regarder si le fichier contient « Version : »,
2. alors on compte le nombre de ligne (nb_ligne) qu'il contient excepté la première et la dernière
3. puis on le concaténer dans un fichier et enfin on enrichie un fichier log (nb-ligne, date, fichier) et on déplace le fichier dans répertoire-traiter.
4. sinon (le fichier ne contient pas version) on le déplace dans répertoire-erreur
Exemple de fichier correct:
E;E;E;E
1;2 ;3 ;3
2;3 ;3 ;5
1;2 ;2 ;5
Version :
On doit concaténer dans all_file.txt avec nb_ligne=3 faire un fichier log
On le copie dans fichier correct

1;2 ;3 ;3
2;3 ;3 ;5
1;2 ;2 ;5




Exemple de fichier incorrect:
E;E;E;E
1;2 ;3 ;3
2;3 ;3 ;5
1;2 ;2 ;5
On le déplace dans le répertoire erreur en renseignant le log

TROUVE=0
Début
for fichier in *.TXT do
echo $fichier
echo grep -v "^$" $fichier | wc -l
if [ $? -eq $TROUVE ] then
$nombre_fichier=wc -l $fichier
nomfichier=$fichier
cp $nomfichier $CHEMIN/rep_traiter/
cat $nomfichier > $CHEMIN/rep_operats/FTIERS_ALL.txt
let "nombre_fichier += 1"

else
mv $nomfichier $CHEMIN/rep_erreurs/$nomfichier
fi

done

Merci de lire ce post
Répondre à labas  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le mardi 22 janvier 2008 à 16:38:27
Salut,

Ton énoncé est un peu incohérente par rapport à ton script ;-\

Je verrai plus un truc dans ce genre (j'ai pas testé par contre) :
#! /bin/bash

# Définition variables
DATE=$(date "+%d/%m/%Y")

for fichier in "*.TXT"
do
        grep "Version :" "$fichier" >/dev/null
        retval=$?
        case "$retval" in
        0)      nbre_ligne=$(( $(cat $fichier | wc -l) - 2 ))
                sed -n '1d;$d;p' "$fichier" >> $CHEMIN/rep_operats/FTIERS_ALL.txt
                echo "$fichier : $nbre_ligne : $DATE" >> $CHEMIN/rep_operats/FTIERS_ALL.txt
                mv -f "$fichier" $CHEMIN/rep_traiter/
                ;;
        1)      mv -f "$fichier" $CHEMIN/rep_erreurs/
                ;;
        *)      echo "ERREUR"
                exit 3
                ;;
        esac
done
;-))

Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.
Répondre à jipicy

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
labas, le mardi 22 janvier 2008 à 18:26:14
Problème résolu, merci
Répondre à labas

3


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
 jipicy, le mardi 22 janvier 2008 à 18:27:33
De rien, mais peut-on avoir un aperçu s'il te plaît, merci ?

Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.
Répondre à jipicy
Logiciels pertinents trouvés dans les téléchargements
Télécharger PDF Creator 0.9.5PDF Creator - PDF Creator est un outil gratuit permettant de créer des PDF à partir de presque n'importe quelle application capable...Catégorie: PDF
Licence: Open Source
Télécharger All In One Video Script 1.0All In One Video Script - All In One Video Script est un script pour l'extension GreaseMonkey pour le navigateur Firefox permettant de détecter la...Catégorie: Vidéo
Licence: Freeware/gratuit
Télécharger Ghostscript 8.61Ghostscript - Ghostscript est le nom d'un ensemble d'outils fournissant : Un interpréteur pour le langage PostScript (TM), offrant la...Catégorie: Postscript (PS)
Licence: Freeware/gratuit
Télécharger Tugzip 3.5.0.0Tugzip - TUGZip est un puissant utilitaire d'archivage pour Windows® supportant un grand nombre de formats de compression, d'images...Catégorie: Compression/Décompression
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « Script concaténer fichier »