The UNIX and Linux Forums  


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
remplacement de plusieurs lignes avec une seule ligne siba.s.nayak De programmation et de script Shell 3 05-28-2008 03:43 AM
tr utilisant de mettre plusieurs lignes de production en une ligne otes4 De programmation et de script Shell 3 02-18-2008 11:30 AM
Concaténation de plusieurs lignes à une ligne de tendance match phixsius De programmation et de script Shell 13 01-24-2008 11:02 PM
Diviser une grande ligne de 120 caractères en plusieurs lignes avec sed? jerome_1664 De programmation et de script Shell 2 08-17-2006 01:03 PM
Fractionnement d'une seule ligne en plusieurs lignes thanuman De programmation et de script Shell 4 02-23-2005 04:56 AM

 
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 03-29-2008
dd_sh dd_sh is offline
Registered User
  
 

Join Date: Mar 2008
Messages: 2
Unhappy Fractionnement de la ligne en plusieurs lignes

Salut les gars,

J'ai besoin d'une aide. Je suis assez nouveau au niveau de la programmation shell. J'ai essayé de diviser une des lignes de fond à une plusieurs lignes avec quelques conditions. Je lunettes pour le code et trouvé quelques extraits et j'ai essayé de modification de ce que trop peu de problèmes je suis bizarre.

J'ai de scinder les lignes si la ligne est plus longue que 120 caractères, alors je dois le séparer en ajoutant "\" à la fin de l'ordre 120ème caractère. Remarque: Il ne peut séparés à la délimitation des postes tels que l'espace ou une virgule. Et voici le code pour que

#! / bin / sh

awk '(
if (length ($ 0)> 120)
(
str \u003d $ 0;
i \u003d 0;

while (length (str)> 120)
(
j \u003d 0;
for (m \u003d 1; m <\u003d 120; m + +)
(
letter \u003d substr ($ 0, i + m, 1);
# printf ( "% s \ n", lettre);
if (lettre !\u003d",")
puis
autre
(
j \u003d m;
# Printf ( "% s \ n", substr ($ 0, i +1, j));
)
fi
if (lettre! \u003d "")
puis
autre
(J \u003d m;)
fi

)

printf ( "% s / \ n", substr ($ 0, i +1, j));

i + \u003d j;
str \u003d substr ($ 0, i, length ($ 0));
)

if (length (str)> 1)
printf ( "% s \ n", substr (str, 2, length (str)));

)
autre
(
print $ 0
)
) 'Monfichier.txt


Mais mon problème est que la condition ci-dessus fonctionne Si mettre de l'ordre affiché. Si j'avais l'habitude de travailler avec l'égalité et de la mettre après l'expression alors il ne fonctionne pas correctement.

J'ai aussi été pas en mesure d'utiliser l'expression ou de virgule et l'espace

J'ai également besoin du programme qui va revenir la même opération. J'ai aussi lu quelques propos de tutoriel sed mais trouve sa assez déroutant pour les nouveaux utilisateurs
 

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 10:10 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