The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
la vérification des erreurs dans les fichiers ali560045 De programmation et de script Shell 4 06-19-2008 11:56 AM
comment se connecter à un autre ip et de contrôle pour les fichiers saikumar_n De programmation et de script Shell 2 07-11-2007 03:34 PM
comment se connecter à un autre ip et de contrôle pour les fichiers saikumar_n UNIX for Advanced & Expert Users 1 07-11-2007 11:13 AM
la vérification des fichiers sur ftp ... jithinravi UNIX pour les nuls Questions et réponses 3 06-22-2007 12:25 PM
Recherche liste des entrées dans le fichier des fichiers en dir not4google UNIX pour les nuls Questions et réponses 2 10-18-2006 12:24 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 11-18-2007
za_7565 za_7565 is offline
Registered User
  
 

Join Date: Nov 2007
Lieu: ON, Canada
Posts: 16
contrôle des entrées entre les fichiers

J'ai besoin d'écrire un script pour:
J'ai deux dossiers pour lesquels j'ai besoin de vérifier et de trier les entrées de comparer:
fichier1:
data01
data02
data03
data04
data05
.
.
.
data81

file2:
/ vol/vx/data01
/ vol/vx/data02
/ vol/vx/data03
/ vol/vx/data04
/ vol/vx/data05
.
.
Ainsi, chaque entrée doit avoir de file1 entrée correspondante dans file2. Si l'entrée existe, il doit passer, mais s'il n'y a pas d'entrée, il doit dire:
Erreur: l'entrée dataXXX a aucune entrée dans file2.

Vous remercions de votre aide.
  #2 (permalink)  
Old 11-18-2007
Franklin52 Franklin52 is offline Forum Staff  
Modérateur
  
 

Join Date: Feb 2007
Posts: 4309
Avec awk:

Code:
awk '
BEGIN {FS="/"}
FNR==NR {arr[$0]=$0;next}
{arr2[$4]=$4}
END {
  for(i in arr) {
    if (!arr2[i]) {
      print "error: entry " arr[i] " has no entry in file2"
    }
  }
}' "file1" "file2"
Observe
  #3 (permalink)  
Old 12-19-2007
amitrajvarma amitrajvarma is offline
Registered User
  
 

Join Date: Oct 2007
Posts: 43
Citation:
Posté par Franklin52 View Post
Avec awk:

Code:
awk '
BEGIN {FS="/"}
FNR==NR {arr[$0]=$0;next}
{arr2[$4]=$4}
END {
  for(i in arr) {
    if (!arr2[i]) {
      print "error: entry " arr[i] " has no entry in file2"
    }
  }
}' "file1" "file2"
Observe
Salut,
Je reçois le message d'erreur suivant,
"Unmatched".
quand j'ai exécuté le

awk '
BEGIN (FS \u003d"/"}
NR \u003d\u003d FNR (arr [$ 0] \u003d $ 0;) prochaine
arr2 ([$ 4] \u003d $ 4)
END (
for (i in arr) (
if (! arr2 [i]) (
print "Erreur: l'entrée" arr [i] "n'a pas d'entrée dans fichier2"
)
)
) ' "Fichier1" "fichier2"

S'il vous plaît laissez-moi savoir pourquoi. J'ai un shell tcsh

Merci

Amit
  #4 (permalink)  
Old 12-19-2007
summer_cherry summer_cherry is offline Forum Advisor  
Registered User
  
 

Date d'inscription: juin 2007
Lieu: Beijing Chine
Posts: 1088
awk

Salut,

J'ai essayé celui-ci et il fonctionne.

entrée:
Code:
a:
data01
data02
data03
data04
data05

b:
/vol/vx/data03
/vol/vx/data01
sortie:
Code:
error: entry data04 has no entry in file2.
error: entry data05 has no entry in file2.
error: entry data02 has no entry in file2.

code:
Code:
sed 's/\// /g' b > b.tmp
nawk '
NR==FNR {a[$1]=$1}
NR!=FNR {a[$3]=$0}
END{
for (i in a)
	if (i==a[i])
		print "error: entry "i" has no entry in file2."
}
' a b.tmp
rm b.tmp
  #5 (permalink)  
Old 11-18-2007
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
addict
  
 

Join Date: Jan 2007
Lieu: Варна, България / Milano, Italia
Posts: 2875
Code:
awk 'NR==FNR{x[$NF];next}
{print ($1 in x)?$1:"error: entry "$1" has no entry in file2"
}' FS="/" file2 file1

Utilisez nawk / ou usr/xpg4/bin/awk sur Solaris.


PS. Just a vu le post ci-dessus,
si vous voulez une sortie comme ça:

Code:
awk 'NR==FNR{x[$NF];next}
!($1 in x)&&$0="error: entry "$1" has no entry in file2"
' FS="/" file2 file1

Dernière édition par radoulov; au 11.18.2007 12:43 PM..
  #6 (permalink)  
Old 11-18-2007
prowla prowla is offline
Read Only
  
 

Join Date: Nov 2007
Messages: 165
Essayez ceci:

Code:
cat file1 | while read key
do
  grep "/vol/vx/$key$" file2 2>&1 >/dev/null # Some systems may accept "grep -q".
  [ $? -ne 0 ] && echo "error: entry $key has no entry in file2"
done
  #7 (permalink)  
Old 11-18-2007
summer_cherry summer_cherry is offline Forum Advisor  
Registered User
  
 

Date d'inscription: juin 2007
Lieu: Beijing Chine
Posts: 1088
awk

entrée:
Code:
a:
data01
data02
data03
data04
data05
b:
/vol/vx/data01
/vol/vx/data02
/vol/vx/data05
sortie:
Code:
No entry for:data03
No entry for:data04
code:
Code:
nawk 'BEGIN{FS="/"}
{
if (NR==FNR) 
	test[NR]=$4
else
{
	flag=0
	for (i in test)
	{
		if ($1==test[i]) 
			flag=1
	}
	if (flag==0)
		print "No entry for:"$1
}
}' b a
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 03:47 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0