![]() |
|
|
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 |
| 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 |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
||||
|
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 |
| Modes d'affichage | Rate this thread |
|
|