The UNIX and Linux Forums  


Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
ter vervanging van meerdere lijnen met enkele lijn siba.s.nayak Programmeren en Shell Scripting 3 05-28-2008 03:43
met behulp van tr om meerdere regels van de output in een lijn otes4 Programmeren en Shell Scripting 3 02-18-2008 11:30
Concatenatie meerdere lijnen op een lijn als match patroon phixsius Programmeren en Shell Scripting 13 01-24-2008 11:02 PM
Split een grote lijn in meerdere 120 tekens lijnen met sed? jerome_1664 Programmeren en Shell Scripting 2 08-17-2006 01:03 PM
Splitsing een regel in meerdere regels thanuman Programmeren en Shell Scripting 4 02-23-2005 04:56

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 03-29-2008
dd_sh dd_sh is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2008
Posten: 2
Unhappy Opsplitsen van de regel in meerdere regels

Hi guys,

Ik heb een hulp. Ik ben er vrij nieuw voor de shell niveau programmeertaal. Ik probeerde een lange lijnen gesplitst voor een meervoudige lijnen met enkele voorwaarden. Ik goggle voor de code en vond een aantal fragmenten en probeerde bewerkt, maar ik heb weinig vreemde problemen.

Ik heb de splitsing van de regels als lijn is langer dan 120 tekens, dan heb ik te scheiden door de toevoeging van "\" aan het einde van rond de 120e karakter. Opmerking Het kan alleen gescheiden op afbakening functies, zoals ruimte of komma. En hier is de code voor dat

#! / bin / sh

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

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

)

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

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

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

)
anders
(
print $ 0
)
) 'Myfile.txt


Maar mijn probleem was dat deze voorwaarde wordt gesteld in het werken als gedetacheerde orde. Als ik gebruikt om te werken met gelijk is aan en zet de expressie na dan is het niet goed werkt.

Ik was ook niet in staat om de OR-expressie voor komma en ruimte te gebruiken

Ik moet ook het programma dat kan weer dezelfde operatie. Ik lees ook enkele tutorial over sed maar vond het nogal verwarrend voor nieuwe gebruikers
 

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 07:18 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0