![]() |
|
|
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 |
| séparateur des milliers | ynixon | De programmation et de script Shell | 11 | 04-13-2008 11:43 AM |
| regexp pour imprimer un champ après seperator | ramky79 | De programmation et de script Shell | 7 | 05-09-2007 07:31 PM |
| comment inclure séparateur de champ, si il ya des champs vides? | REV | De programmation et de script Shell | 19 | 07-13-2005 05:50 AM |
| Comment puis-je spécifier l'onglet comme séparateur de champ pour trier? | SSteve | UNIX pour les nuls Questions et réponses | 8 | 04-26-2005 05:39 PM |
| Séparateur dans un Makefile? | laila63 | De programmation et de script Shell | 2 | 07-01-2004 11:11 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
comme séparateur de champ regexp
J'ai une version de AWK qui ne supporte pas les expressions régulières field separators (ne dois-je nawk ou gawk). Comment dois-je faire au sujet de la lecture d'une ligne avec le séparateur de champs que la chaîne "\u003d #" ou "+\u003d".
Mes données se présente comme suit: Abhishek nnnnn \u003d # + + # 1234 # 87 Une option est d'utiliser et de modifier tr "\u003d" en "+" (je suis sûr que "\u003d" doesnt apparaître nulle part ailleurs), mais puisque le dossier est assez grand, et il ya beaucoup d'opérations, je envisage de faire sur le les champs, alors que je lisais le fichier ligne par ligne, je m'abstiendrai de l'utiliser. Toutes les suggestions, s'il vous plaît? |
|
||||
|
utiliser perl. pas de problèmes de division que. par exemple: Code:
$ cat 1 abhishek=#nnnnn+#1234+#87 $ cat 1| perl -naF'/(\=#|\+#)/' -e '$"=" "; print "@F"' abhishek =# nnnnn +# 1234 +# 87 ou Code:
$ cat 1| perl -naF'/\=#|\+#/' -e '$"=" "; print "@F"' abhishek nnnnn 1234 87 |
|
||||
|
Merci beaucoup! Mais pouvez-vous expliquer la syntaxe? Je suis au courant de certaines PERL (mais guère oneliners!), et peut faire remarquer que vous êtes splitting $ _ sur les modèles "# +" ou "\u003d #" et l'attribuer à l'ensemble F. Mais je ne comprends pas grand-chose d'autre dans la déclaration . Pourriez-vous me dire où pourrais-je entrer de nouveau la parole pour traiter les champs de la boucle (par exemple, si une déclaration de tester quelque chose sur le second tableau de paramètre)?
Aussi, si possible, pouvez-vous suggérer quelques on-line PERL une ligne de référence? |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|