![]() |
|
|
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 |
| sed requête | gopsman | De programmation et de script Shell | 4 | 02-03-2009 02:41 AM |
| Et dans la requête SQL | Lindarella | De programmation et de script Shell | 3 | 10-09-2006 05:43 PM |
| Requête en awk | raguramtgr | UNIX pour les nuls Questions et réponses | 1 | 08-27-2004 12:00 PM |
| RPM Requête | silvaman | UNIX for Advanced & Expert Users | 1 | 08-15-2003 08:56 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
sed requête
J'ai une série de dossiers / temp / a / temp / b / temp / c
Dans les dossiers a, b et c, j'ai des fichiers a1.txt ... ... .... a20.txt b1.txt ... ... .... b40.txt & c1.txt ... ... .... c60.txt Chaque fichier a le même format de données: -- Ligne 1 AAAAA aaaa Ligne 2 BBB bbbbbb Ligne 3 CCCC cccccc Etc etc J'ai besoin d'écrire un sed script qui va parcourir tous les fichiers et reformater les données ainsi: -- Ligne 1 AAAAA aaaa Ligne 2 BBB Ligne 3 X bbbbbb Ligne 4 CCCC cccccc Etc etc Donc j'ai besoin d'insérer un CR / LF dans la ligne 2 la position 4, créer une nouvelle ligne 3 avec un texte (X) et la valeur de ce qui était à la droite de la ligne 2 (bbbbbb) et déplacer les autres lignes, une ligne vers le bas. Quelqu'un peut-il aider, s'il vous plaît? Je ne sais pas sed très bien, awk et pas du tout. |
|
||||
|
sed solution
Merci Anbu23
Lorsque j'ai posté hier, j'ai simplifié mon problème, en pensant que je pourrais suivre votre logique, et de les appliquer à mon problème. En fait, c'est la ligne 5 position 32 avant que le CR / LF est inséré. La nouvelle ligne 6 contient le texte de la position fixe de 1 à 31 inclus, (X) et de la position 32 à 34 de la ligne 5 sera tombée à la même position sur la ligne 6. J'ai essayé sed "5 s / \ (... \). \ (.* \) / \ 1 \ \ X \ 2 / "$ file> tmp mais il reste encore répandue au bout de 3 caractères. J'ai essayé sed "5 s / \ (............................. \). \ (.* \) / \ 1 \ \ X \ 2 / "$ file> tmp mais j'ai reçu une erreur de syntaxe. J'espère que vous pourrez obtenir une aide supplémentaire. Merci |
|
||||
|
Auparavant, vous avez dit que, après quelques premiers chars dans certains ligne doit être transféré à la ligne suivante avec X. Mais maintenant vous dites que vous avez besoin initial char et X et les autres car dans la nouvelle line.I ne suis pas en mesure pour vous.
Pouvez-vous me donner par exemple? |
|
||||
|
sed exemple
Salut Anbu23
d'entrée Ref: 12345678 M ^ Valeur Date: 28-mai-2006 M ^ Débit A / c: 54321235 - M ^ abcdef Client: 100210547 - abcdef ^ M Débit Montant: 9999999999.00 ^ M USD Description: fil à Wxxxxxx ^ M ^ M Taux de change: 1,00000 M ^ etc etc devrait se transformer en Ref: 12345678 M ^ Valeur Date: 28-mai-2006 M ^ Débit A / c: 54321235 - M ^ abcdef Client: 100210547 - abcdef ^ M Débit Montant: 9999999999.00 M ^ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ^ M USD Description: fil à Wxxxxxx ^ M ^ M Taux de change: 1,00000 M ^ etc etc de coupe et de collage de l'écran a compensé ci-dessus, mais ma ligne 5 position 31 est correcte. S'il vous plaît noter également qu'il ya beaucoup de dossiers dans chaque fichier, et tous doivent être reformatés. Un grand merci encore Je ne vous remercions de votre soutien. |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|