Format de fichier
fabien.joubert
Messages postés
35
Statut
Membre
-
fabien.joubert Messages postés 35 Statut Membre -
fabien.joubert Messages postés 35 Statut Membre -
bonjour j'aimerais savoir comment on test le format de chaque ligne d'un fichier
dans des fichier je test le format de chaque ligne du premier champ
$list = array (
"arbre.txt",
"cond.txt",
"gestion.txt",
"planning.txt",
"profile.txt",
"res.txt",
"rules.txt",
"session.txt",
"task.txt",
"ug.txt",
"uprocs.txt",
"user.txt");
foreach ($list as $value)
{
exec("cat /exec/products/dollaru/$_POST[path]/files/$value | -f1 -d" "" | awk /^[0-9]*$/);
exec("[$?<>0] break");
}
qu'en pensez vous? merci d'avance
dans des fichier je test le format de chaque ligne du premier champ
$list = array (
"arbre.txt",
"cond.txt",
"gestion.txt",
"planning.txt",
"profile.txt",
"res.txt",
"rules.txt",
"session.txt",
"task.txt",
"ug.txt",
"uprocs.txt",
"user.txt");
foreach ($list as $value)
{
exec("cat /exec/products/dollaru/$_POST[path]/files/$value | -f1 -d" "" | awk /^[0-9]*$/);
exec("[$?<>0] break");
}
qu'en pensez vous? merci d'avance
A voir également:
- Format de fichier
- Fichier bin - Guide
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
12 réponses
en fait le problème se trouve sur c 2 lignes... c'est du ksh. quelqu'un si connaît un peu? gracias
cat /exec/products/dollaru/$_POST[path]/files/$value | -f1 -d" "" | awk /^[0-9]*$/
[$?<>0] break
cat /exec/products/dollaru/$_POST[path]/files/$value | -f1 -d" "" | awk /^[0-9]*$/
[$?<>0] break
Si tu nous disais plus clairement avec des exemples ce que tu veux faire, à quoi ressemble le 1er champ de chaque ligne de chaque fichier (afin qu'on vérifie l'exactitude de ta regex), et les tenants et aboutissants de ton script, parce que là vu comme ça c'est flou, enfin pour moi en tout cas ...
Merci.
Merci.
en fait j'aimerais tester le premier champ de chaque ligne de mon fichier
j'aimerais tester leur format,
mais je ne sais pas comment m'y prendre...
j'aimerais tester si la première colonne du soit exclusivement du code numérique
j'aimerais tester leur format,
mais je ne sais pas comment m'y prendre...
j'aimerais tester si la première colonne du soit exclusivement du code numérique
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
1182852803 4S+06NN 1er samedi sur 4 semaines (4w) (+6c) n (nnn,nnn,nnn,nnn,nnn,yyy,nnn)
1182852803 4S+07NN 1er dimanche sur 4 semaines (4w) (+7c) n (nnn,nnn,nnn,nnn,nnn,nnn,yyy)
1182852803 4S+13NN 2eme samedi sur 4 semaines (4w) (+13c) n (nnn,nnn,nnn,nnn,nnn,yyy,nnn)
1182852803 4S+14NN 2eme dimanche sur 4 semaines (4w) (+14c) n (nnn,nnn,nnn,nnn,nnn,nnn,yyy)
1182852803 4S+20NN 3eme samedi sur 4 semaines (4w) (+20c) n (nnn,nnn,nnn,nnn,nnn,yyy,nnn)
1182852803 4S+21NN 3eme dimanche sur 4 semaines (4w) (+21c) n (nnn,nnn,nnn,nnn,nnn,nnn,yyy)
1182852803 4S-01NN 4eme dimanche sur 4 semaines (4w) (-1c) n (nnn,nnn,nnn,nnn,nnn,nnn,yyy)
1182852803 4S-02NN 4eme samedi sur 4 semaines (4w) (-2c) n (nnn,nnn,nnn,nnn,nnn,yyy,nnn)
1182852803 A+01AA Le premier jour de l'annee (12m) (+1c) n (nny,nny,nny,nny,nny,nny,nny)
1182852803 A+01O+ le premier jour ouvre de l'annee (12m) (+1w) n (ynn,ynn,ynn,ynn,ynn,ynn,ynn)
1182852803 A+5NN le 5 janvier (12m) (+5c) n (yyy,yyy,yyy,yyy,yyy,yyy,yyy)
1182852803 A-01O- le dernier jour ouvre de l'annee (12m) (-1w) n (ynn,ynn,ynn,ynn,ynn,ynn,ynn)
1182852803 A-05_V le 2ieme vendredi ouvre de l'annee (12m) (+8c) n (nnn,nnn,nnn,nnn,yyy,nnn,nnn)
1182852803 A-08_V le 8ieme jour ouvre de l'annee (12m) (+8c) f (ynn,ynn,ynn,ynn,nnn,nnn,nnn)
1182852803 A-27N le 5 decembre (12m) (-27c) n (yyy,yyy,yyy,yyy,yyy,yyy,yyy)
1182852803 CAT le dernier jour ouvre sem entiere mois (2m) (+25c) n (yyy,yyy,yyy,yyy,yyy,yyy,yyy)
1182852803 CP vendredi ouvre derniere sem entiere mois (1m) (-3c) p (nnn,nnn,nnn,nnn,ynn,nnn,nnn)
1182852803 CPON (1m) (+4c) n (nny,nny,nny,nny,nny,nny,nny)
1182852803 H+01_N tous les lundis (1d) (+1c) n (yyy,nnn,nnn,nnn,nnn,nnn,nnn)
1182852803 H+01_S tous les 15 jours le lundi (2w) (+1c) n (yyy,nnn,nnn,nnn,nnn,nnn,nnn)
1182852803 H+02O+ tous les mardis si chome report+ (1w) (+2c) f (ynn,ynn,ynn,ynn,ynn,ynn,ynn)
1182852803 H+02_N tous les mardis (1d) (+1c) n (nnn,yyy,nnn,nnn,nnn,nnn,nnn)
1182852803 H+03_N tous les mercredis (1d) (+1c) n (nnn,nnn,yyy,nnn,nnn,nnn,nnn)
1182852803 H+04_N tous les jeudis (1d) (+1c) n (nnn,nnn,nnn,yyy,nnn,nnn,nnn)
1182852803 H+05_N tous les vendredis (1d) (+1c) n (nnn,nnn,nnn,nnn,yyy,nnn,nnn)
1182852803 H+06_N tous les samedis (1d) (+1c) n (nnn,nnn,nnn,nnn,nnn,yyy,nnn)
1182852803 H+07_N tous les dimanches (1d) (+1c) n (nnn,nnn,nnn,nnn,nnn,nnn,yyy)
1182852803 J+01LJ Du Lundi au Jeudi (1d) (+1c) n (yyy,yyy,yyy,yyy,nnn,nnn,nnn)
1182852803 J+01LS Du lundi au samedi (1d) (+1c) n (yyy,yyy,yyy,yyy,yyy,yyy,nnn)
1182852803 J+01LV Du Lundi au Vendredi N Du Lundi au Vendredi sauf jours feries (1d) (+1c) n (yyy,yy
1182852803 4S+07NN 1er dimanche sur 4 semaines (4w) (+7c) n (nnn,nnn,nnn,nnn,nnn,nnn,yyy)
1182852803 4S+13NN 2eme samedi sur 4 semaines (4w) (+13c) n (nnn,nnn,nnn,nnn,nnn,yyy,nnn)
1182852803 4S+14NN 2eme dimanche sur 4 semaines (4w) (+14c) n (nnn,nnn,nnn,nnn,nnn,nnn,yyy)
1182852803 4S+20NN 3eme samedi sur 4 semaines (4w) (+20c) n (nnn,nnn,nnn,nnn,nnn,yyy,nnn)
1182852803 4S+21NN 3eme dimanche sur 4 semaines (4w) (+21c) n (nnn,nnn,nnn,nnn,nnn,nnn,yyy)
1182852803 4S-01NN 4eme dimanche sur 4 semaines (4w) (-1c) n (nnn,nnn,nnn,nnn,nnn,nnn,yyy)
1182852803 4S-02NN 4eme samedi sur 4 semaines (4w) (-2c) n (nnn,nnn,nnn,nnn,nnn,yyy,nnn)
1182852803 A+01AA Le premier jour de l'annee (12m) (+1c) n (nny,nny,nny,nny,nny,nny,nny)
1182852803 A+01O+ le premier jour ouvre de l'annee (12m) (+1w) n (ynn,ynn,ynn,ynn,ynn,ynn,ynn)
1182852803 A+5NN le 5 janvier (12m) (+5c) n (yyy,yyy,yyy,yyy,yyy,yyy,yyy)
1182852803 A-01O- le dernier jour ouvre de l'annee (12m) (-1w) n (ynn,ynn,ynn,ynn,ynn,ynn,ynn)
1182852803 A-05_V le 2ieme vendredi ouvre de l'annee (12m) (+8c) n (nnn,nnn,nnn,nnn,yyy,nnn,nnn)
1182852803 A-08_V le 8ieme jour ouvre de l'annee (12m) (+8c) f (ynn,ynn,ynn,ynn,nnn,nnn,nnn)
1182852803 A-27N le 5 decembre (12m) (-27c) n (yyy,yyy,yyy,yyy,yyy,yyy,yyy)
1182852803 CAT le dernier jour ouvre sem entiere mois (2m) (+25c) n (yyy,yyy,yyy,yyy,yyy,yyy,yyy)
1182852803 CP vendredi ouvre derniere sem entiere mois (1m) (-3c) p (nnn,nnn,nnn,nnn,ynn,nnn,nnn)
1182852803 CPON (1m) (+4c) n (nny,nny,nny,nny,nny,nny,nny)
1182852803 H+01_N tous les lundis (1d) (+1c) n (yyy,nnn,nnn,nnn,nnn,nnn,nnn)
1182852803 H+01_S tous les 15 jours le lundi (2w) (+1c) n (yyy,nnn,nnn,nnn,nnn,nnn,nnn)
1182852803 H+02O+ tous les mardis si chome report+ (1w) (+2c) f (ynn,ynn,ynn,ynn,ynn,ynn,ynn)
1182852803 H+02_N tous les mardis (1d) (+1c) n (nnn,yyy,nnn,nnn,nnn,nnn,nnn)
1182852803 H+03_N tous les mercredis (1d) (+1c) n (nnn,nnn,yyy,nnn,nnn,nnn,nnn)
1182852803 H+04_N tous les jeudis (1d) (+1c) n (nnn,nnn,nnn,yyy,nnn,nnn,nnn)
1182852803 H+05_N tous les vendredis (1d) (+1c) n (nnn,nnn,nnn,nnn,yyy,nnn,nnn)
1182852803 H+06_N tous les samedis (1d) (+1c) n (nnn,nnn,nnn,nnn,nnn,yyy,nnn)
1182852803 H+07_N tous les dimanches (1d) (+1c) n (nnn,nnn,nnn,nnn,nnn,nnn,yyy)
1182852803 J+01LJ Du Lundi au Jeudi (1d) (+1c) n (yyy,yyy,yyy,yyy,nnn,nnn,nnn)
1182852803 J+01LS Du lundi au samedi (1d) (+1c) n (yyy,yyy,yyy,yyy,yyy,yyy,nnn)
1182852803 J+01LV Du Lundi au Vendredi N Du Lundi au Vendredi sauf jours feries (1d) (+1c) n (yyy,yy
Bon voilà un exemple à adapter selon tes besoins :
$ cat -n plop
1 1182852803 4S+06NN 1er samedi sur 4 semaines (4w) (+6c) n
2 1182852803 4S+07NN 1er dimanche sur 4 semaines (4w) (+7c) n
3 a1182852803 4S+13NN 2eme samedi sur 4 semaines (4w) (+13c) n
4 -1182852803 4S+14NN 2eme dimanche sur 4 semaines (4w) (+14c) n
5 118b28?52803 4S+20NN 3eme samedi sur 4 semaines (4w) (+20c) n
6 1182852803 4S+21NN 3eme dimanche sur 4 semaines (4w) (+21c) n
7 1182852803 4S-01NN 4eme dimanche sur 4 semaines (4w) (-1c) n
$ awk '$1 ~ /^:digit:*$/ {print " "FNR" " $0 }' plop
1 1182852803 4S+06NN 1er samedi sur 4 semaines (4w) (+6c) n
2 1182852803 4S+07NN 1er dimanche sur 4 semaines (4w) (+7c) n
6 1182852803 4S+21NN 3eme dimanche sur 4 semaines (4w) (+21c) n
7 1182852803 4S-01NN 4eme dimanche sur 4 semaines (4w) (-1c) n
$ ;-))
"plop" c'est le nom du fichier dans lequel j'ai copié quelques lignes issues de ton "copier/coller" plus haut.
La ligne de commande c'est :
;-))
La ligne de commande c'est :
awk '$1 ~ /^:digit:*$/ {print " "FNR" " $0 }'qui elle ne fait qu'afficher les lignes du fichier "plop" ne commençant exclusivement par un ou plusieurs caractères numériques dans le 1er champ.
;-))
je ne comprends pas ca ne marche pas... je suis embêté j'avoue
alors que je suis d'accord avec la commande awk que tu me propose...
alors que je suis d'accord avec la commande awk que tu me propose...
Affiche tes essais ici. Réduit ton fichier d'entrée à quelques lignes (dont certaines commençant par autre chose que des chiffres) et appliques la commande...
<?
#Application developpee par Philippe BEAUDEQUIN (philippe.beaudequin@gadz.org)
#Eleve ingenieur ENSAM
#Juin a Septembre 2005
#version 03
session_start();
$id=session_id();
if($_POST[path])
{
echo "<b><font size=2>Importation automatique des donnees extraites par le shell</font></b><font color=green size=2><br>";
echo "session = " . $id ;
$PATH1="/var/www/html/dollaru/import/$id";
$list = array (
"arbre.txt",
"cond.txt",
"gestion.txt",
"planning.txt",
"profile.txt",
"res.txt",
"rules.txt",
"session.txt",
"task.txt",
"ug.txt",
"uprocs.txt",
"user.txt");
echo "toto";
foreach ($list as $value)
{
echo $value;
exec ("verif.ksh");
echo "titi";
#exec("[$?<>0] break");
echo "tutu";
}
echo "toto";
exec("mkdir $PATH1");
exec("rm -f $PATH1/*.txt");
foreach ($list as $value)
{
# exec("cp $PATH1/$value /exec/products/dollaru/XB2/files/$value",$t);
#exec("wget -O $PATH1/$value ftp://$_POST[login]:$_POST[password]@$_POST[hostname]/$_POST[path]/files/$value",$t);
exec("cp /exec/products/dollaru/$_POST[path]/files/$value $PATH1/$value",$t);
echo "Fichier $value copie<br>";
}
echo "<b><bR><font size=2>Creation des table dans la base de donnees et enregistrement des donnees</font><br></b>";
include('create.php');
}
else include('form_import.php');
?>
#Application developpee par Philippe BEAUDEQUIN (philippe.beaudequin@gadz.org)
#Eleve ingenieur ENSAM
#Juin a Septembre 2005
#version 03
session_start();
$id=session_id();
if($_POST[path])
{
echo "<b><font size=2>Importation automatique des donnees extraites par le shell</font></b><font color=green size=2><br>";
echo "session = " . $id ;
$PATH1="/var/www/html/dollaru/import/$id";
$list = array (
"arbre.txt",
"cond.txt",
"gestion.txt",
"planning.txt",
"profile.txt",
"res.txt",
"rules.txt",
"session.txt",
"task.txt",
"ug.txt",
"uprocs.txt",
"user.txt");
echo "toto";
foreach ($list as $value)
{
echo $value;
exec ("verif.ksh");
echo "titi";
#exec("[$?<>0] break");
echo "tutu";
}
echo "toto";
exec("mkdir $PATH1");
exec("rm -f $PATH1/*.txt");
foreach ($list as $value)
{
# exec("cp $PATH1/$value /exec/products/dollaru/XB2/files/$value",$t);
#exec("wget -O $PATH1/$value ftp://$_POST[login]:$_POST[password]@$_POST[hostname]/$_POST[path]/files/$value",$t);
exec("cp /exec/products/dollaru/$_POST[path]/files/$value $PATH1/$value",$t);
echo "Fichier $value copie<br>";
}
echo "<b><bR><font size=2>Creation des table dans la base de donnees et enregistrement des donnees</font><br></b>";
include('create.php');
}
else include('form_import.php');
?>