[linux] shell/awk script

Fermé
natoe - 23 févr. 2007 à 16:34
 etude - 18 nov. 2008 à 00:39
shell / awk ?
salut, j'aimerais faire un script "simple" mais je vois pas comment faire.

en entré : j'ai une serie de fichier du genre PIPI01 , PIPI02, PIPI03, PIPI05.

j'aimerais avoir en sortie : " PIPI04 "

Les fichiers on le même nom et une partie s'incremente.

des idées? je vois pas commetn faire 0o
A voir également:

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
23 févr. 2007 à 16:38
Salut,

J'ai pas tout compris là ! ;-\
Tu veux faire quoi exactement, compter le nombre de fichiers ? (en fonction d'un critère particulier ?)
0
non trouver les fichiers manquants.

genre dans un répertoire j'ai ses fichiers :

01.TXT
02.TXT
03.TXT
06.TXT

et j'aimearis qu'en lancant le script au final je sache quels fichiers manquent :

04.TXT
05.TXT

Je me suis mieux expliqué ? :)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
23 févr. 2007 à 19:33
Tiens tu peux essayer un truc comme ça :
#! /bin/bash

count=$(ls -1v *.txt | tail -1 | sed 's/[a-zA-Z\.]//g')

for i in $(seq -w 1 $count)
do ls -1 | grep "$i" >/dev/null
if [ "$?" = "1" ]
then echo "fichier $i manquant."
fi
done
mais bon, c'est pas très optimisé du fait qu'il y a plein de paramètres qui m'échappent. Le script marchera si ton répertoire contient 99 fichiers. Dans le cas où il y aurait plus de 100 fichiers, il faudra revoir la commande "$(seq -w 1 $count)", du moins l'option "-w"...

;-))
0
Salut tt le monde
J ss un super USR et j vx ecrire un programme shell « RENOMER » qui accepte en 1 er paramètre le nom d’utulisateur d’ système et comme 2 eme paramètre une valeur entier N .
Càd le programme RENOMER permet de changer le nom de N fichiers texte de repertoire donnée en 1 er parametre
Par exemple :
Rrep1 contient fic1 ,fic2,fic3 …
Après l’execution du programme les fichiers seront comme suite
Rep1_fic1 , Rep1_fic2 ,
Si le 2 eme parametre es egale à 2=N ,
J’ espere bien que les données et l’exemple sont clair
Et voila mon script et je veux de m’aider à corriger ce programme

#!bin/sh/RENOMER
if ($#!=2 –a if let $2 –eq 1)then
echo "erreur"
else
If grep “^$1:” passwd
Then $i=wc_w $1
If $1 –gt $i
Then echo “ereur”
fi
Else
cd ~/$1
find . –name \(*.txt\) {} mv res
$cp=0
for cp in $2
do
sed ‘’ \s\$cp\$cp_$1\ ‘’ res > $1
done
fi
fi

merci bcppp
0