![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| 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 |
| SSH problèmes | ysk | UNIX for Advanced & Expert Users | 1 | 07-19-2007 06:16 AM |
| Problèmes AIX et SAN. | fjgonzalez | AIX | 4 | 07-18-2007 06:15 PM |
| Problèmes avec le dernier | By_Jam | UNIX for Advanced & Expert Users | 3 | 09-29-2006 04:12 AM |
| Peu de problèmes | vivekshankar | UNIX pour les nuls Questions et réponses | 3 | 05-21-2005 01:26 PM |
| "faire" des problèmes (problèmes de compliation?) | xyyz | UNIX for Advanced & Expert Users | 5 | 11-05-2001 10:47 PM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
Problèmes avec le coupé
Salut à tous,
0680046755000011 3040249 3005930 60180GPRS4Samsung_SGH_Z500 C'est le format de mon fichier de log et les paramètres de fichier journal sont comme • 10 premiers caractères: MSISDN • 6 caractères suivante: Hour • 18 caractères suivante: ID Source SA • 18 caractères suivante: ID SA Destination J'ai 11 espaces entre ma première et deuxième colums.I nécessité de réduire fitst 10 char 6 prochains char et 18 char (y compris les espaces blancs). et j'ai essayé suivantes dans mon code MSISDN \u003d `echo $ data | cut-c1-10` HEURE \u003d `echo $ data | cut-c11-16` ID_SA_SOURCE \u003d `echo $ data | cut-C17-35» ID_SA_DEST \u003d `echo $ data | cut-C36-54» Mais becos des espaces, il n'est pas couper correctement .. l'un peut proposer des solutions de rechange Thnks |
|
||||
|
Citation:
Code:
HOUR=`echo $data | tr -s " " |cut -c11-16` donner un essai à celle-ci. |
|
||||
|
Salut
Merci pour la réponse Mais l'assiette de mon i cant espaces de fichiers de log. i nécessité de prendre aussi .. becos les paramètres sont définis comme • 10 premiers caractères: MSISDN • 6 caractères suivante: Hour • 18 caractères suivante: ID Source SA • 18 caractères suivante: ID SA Destination Cela inclut les caractères espaces blancs aussi |
|
||||
|
Citation:
Code:
id=`echo 0680046755000011 3040249 3005930 60180GPRS4Samsung_SGH_Z500 | tr -s " " |cut -c17-35` output is --- 3040249 3005930 60 |
|
||||
|
Salut,
En fait, le fichier de log est comme 0608166896000001 dans ma première colonne 11 et 3001339 des espaces dans mon deuxième colonne (3001339) et de 11 espaces 3204235 dans mon troisième coumn. ... Mais lors de la lecture ligne par ligne en utilisant le code suivant alors que de lire les données faire echo $ data données ID_SA_SOURCE \u003d `echo $ data | cut-C17-35» ID_SA_SOURCE echo $ ID_SA_SOURCE done <$ TRACKING_LOGDIR / $ listdata Je ne reçois pas les 11 espaces de "données" au lieu de variable, je suis seulement un espace .. i want 11whtespaces premier et 3001339 la valeur de ma variable ID_SA_SOURCE .... Pouvez-vous vérifier ce pleasse |
|
||||
|
Vous avez besoin de bien citer vos variables lorsque vous leur écho, sinon le shell whitespace trim. Je conseille d'utiliser des écho à tous, cependant. Mais voici comment citer correctement. Pour être un peu plus de sécurité, je zap IFS, je ne crois pas qu'il est strictement nécessaire ici, mais c'est une technique que vous devriez être au courant. Code:
OLDIFS=$IFS IFS=' ' # just a newline, in single quotes while read data do MSISDN="`echo "$data" | cut -c1-10`" HOUR="`echo "$data" | cut -c11-16`" ID_SA_SOURCE="`echo "$data" | cut -c17-35`" ID_SA_DEST="`echo "$data" | cut -c36-54`" done < $TRACKING_LOGDIR/$listdata IFS=$OLDIFS Après que, sur la manière, comment quelque chose comme ça? Code:
awk '{ OFS=":"; print substr($0, 1, 10), substr($0, 11, 16),
substr($0, 17, 35), substr($0, 17, 35) }' $TRACKING_LOGDIR/$listdata |
while IFS=: read MSISDN HOUR ID_SA_SOURCE ID_SA_DEST; do
echo "'$HOUR': All your '$ID_SA_SOURCE' are '$ID_SA_DEST' to '$MSISDN'"
done
|
![]() |
| Bookmarks |
| Tags |
| awk, awk trim, trim, trim awk |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|