The UNIX and Linux Forums  
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
ersetzt mehrere Zeilen mit der Zeile siba.s.nayak Shell Programmierung und Scripting 3 05-28-2008 02:43 AM
mit tr, um mehrere Zeilen der Ausgabe in einer Zeile otes4 Shell Programmierung und Scripting 3 02-18-2008 11:30 AM
Konkatenation mehrere Zeilen zu einer Zeile, wenn mit Muster phixsius Shell Programmierung und Scripting 13 01-24-2008 11:02 PM
Split eine große Übereinstimmung in mehrere Zeilen mit 120 Zeichen sed? jerome_1664 Shell Programmierung und Scripting 2 08-17-2006 12:03 PM
Die Teilung einer einzigen Zeile in mehrere Zeilen thanuman Shell Programmierung und Scripting 4 02-23-2005 04:56 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 03-29-2008
dd_sh dd_sh is offline
Registrierte Nutzer
  
 

Join Date: März 2008
Beiträge: 2
Unhappy Die Aufteilung der Zeile in mehrere Zeilen

Hi Guys,

Ich brauche eine Hilfe. Ich bin ziemlich neu in der Shell-Ebene Programmierung. Ich habe versucht, um einen langen Linien zu einem mehrere Zeilen mit wenigen Bedingungen. Ich Goggle für den Code ein, und fand einige Auszüge und versucht, geändert, aber ich habe einige seltsame Probleme zu.

Ich habe die Aufteilung der Linien ist, wenn mehr als 120 Zeichen, dann habe ich zu, so dass sie sich durch Hinzufügen von "\" am Ende von rund 120. Charakter. Hinweis: Es kann nur getrennt in Abgrenzung Positionen wie Leerzeichen oder Komma. Und hier ist der Code für die

#! / 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 + +)
(
Schreiben \u003d substr ($ 0, i + m, 1);
# printf ( "% s \ n", Schreiben);
if (Schreiben !\u003d",")
dann
sonst
(
j \u003d m;
# Printf ( "% s \ n", substr ($ 0, i +1, j));
)
fi
if (Schreiben! \u003d "")
dann
sonst
(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)));

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


Aber mein Problem war, dass die genannte Voraussetzung ist, wenn in gebucht werden. Wenn ich zur Arbeit mit gleich und setzen Sie den Ausdruck nach ist es nicht ordnungsgemäß funktioniert.

Ich war auch nicht in der Lage, den Ausdruck oder für Komma-und Raumfahrt

Ich muss auch das Programm, das kann wieder den gleichen Vorgang. Ich auch einige Tutorials zu sed aber auch auf seine sehr verwirrend für neue Benutzer
  #2 (permalink)  
Old 03-30-2008
Ära era is offline Forum Advisor  
Herder sinnlosen Katzen (Am Sabbatical)
  
 

Join Date: März 2008
Location: / es / ist / nur / bin / sh
Beiträge: 3652
Alte C-Programmierer, oder? Willkommen bei High-Level-Sprache, wo Sie müssen nicht neu erfinden strlen in jedem Projekt.

Mann fach

perl -pe 's / (. (1119) [,]) / \ 1 \ \ \ n / g'

Ich verstehe nicht, die Frage nach OR. Was haben Sie, und nicht, wie es funktioniert?

Code:
if (letter == " " || letter == ",")
  #3 (permalink)  
Old 03-31-2008
dd_sh dd_sh is offline
Registrierte Nutzer
  
 

Join Date: März 2008
Beiträge: 2
Hi
Vielen Dank für die Antwort.
Ja, ich habe auf C und VB, aber nicht in dieser Shell-Programmierung. Und größte Problem für mich auf dieser Programmierung ist, dass sie kaum mir Fehlermeldung und ich kann nicht den Zustand der Debug-Modus.

Für ODER Logik habe ich versucht
Code:
if (letter = " " -o letter = ",")
wie ich auf einige Tutorials.
Und ich auch gelesen, dass für gleich haben wir für den Single '\u003d' nicht so'\u003d\u003d'' wie C + +

Ist diese Zeile nicht gleich wie mir?
Code:
perl -pe 's/(.{1,119}[ ,])/\1\\\n/g'
Es ist wirklich schwierig, herauszufinden, was passiert mit diesen Code. Ich weiß, einige Dinge
a) um die Saiten, haben wir die "am Anfang und am Ende des Befehls
b) alle Argumente werden sollten getrennt von /
Ich weiß wirklich nicht, etwas neben die von diesem Kodex

  #4 (permalink)  
Old 03-31-2008
Ära era is offline Forum Advisor  
Herder sinnlosen Katzen (Am Sabbatical)
  
 

Join Date: März 2008
Location: / es / ist / nur / bin / sh
Beiträge: 3652
Sie wurden Lesung Shell-Programmierung Tutorials (und möglicherweise C-Shell, wenn sie Beratung runden Klammern in der wenn -, Die sich von der Bourne-Shell, der Art, wie Java ist ganz im Gegensatz zu JavaScript, die aber nicht ganz so nicht), aber das Programm, das Sie geschrieben haben ist in der awk Sprache, die ist gar nicht die gleiche Sache. Vergleichen Sie, wie können Sie eine DLL in einer anderen Sprache von einem C-Programm. Aber mit Skripten, die Quelle kann in zwei verschiedenen Sprachen, und oft ist - Sie häufig die kleinen awk oder sed oder Perl oder TCL oder ... andere Skripte in Shell-Skripte, wenn die Shell die eigenen Syntax oder Einrichtungen nicht mit dem Problem Raum gut genug.

Der Perl Programm das tut, was Ich kann mir vorstellen, Ihre spez sagt sollte es tun. Probieren Sie es aus und sehen. Es ersetzt ein Vielfaches von 119 oder weniger charactes gefolgt von einem Leerzeichen oder ein Komma mit der gleichen Zeichenfolge plus einem Backslash und einem Zeilenumbruch. Man könnte das auch bei sed oder awk, Wenn auch nicht ganz so prägnant, das Konzept hier ist ein Regulärer Ausdruck, Ist eine Einrichtung, die alle diese Sprachen bieten. (Ich glaube, Sie haben es in VB, zu, und es gibt C-Bibliotheken können Sie, wenn Sie möchten.) Lesen Sie auf, dass es ein sehr nützliches und vielseitiges Werkzeug, ganz unabhängig von einer bestimmten Sprache.
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 04:34 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0