The UNIX and Linux Forums  

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
anstelle der Raum mit Rohr (Trennzeichen) OSD UNIX for Dummies Questions & Answers 6 02-16-2009 04:38 AM
eine bessere Art und Weise zu entfernen Zeilenumbrüche csmklee Shell Programmierung und Scripting 3 01-13-2009 02:42 AM
Ersetzen URL in eine Datei mit Leerzeichen dsrookie UNIX for Dummies Questions & Answers 5 02-29-2008 04:58 AM
Newbie? Brauchen Sie Hilfe mit if / then & Zeilenumbrüche ... kthatch UNIX for Dummies Questions & Answers 1 05-01-2007 08:44 PM
Entfernen Zeilenumbrüche aus einer Shell-Variable lyonsd Shell Programmierung und Scripting 5 09-12-2006 02:42 PM

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 04-21-2009
mshulman1980 mshulman1980 is offline
Registrierte Nutzer
  
 

Join Date: Apr 2009
Beiträge: 4
Exclamation Shell ersetzt Raum mit Zeilenumbrüche

Ich bin der Analyse durch eine große lslpp-LC-Ausgabe-Datei mit einer for-Schleife. Die Datei enthält viele Zeilen wie diese:
zip: zip-2.3-3: 2,3::: C: R: Eine Datei-Komprimierung und Verpackung Dienstprogramm mit PKZIP.:: / bin / rpm-e zip::::: 0:

Es scheint keine speziellen oder geheim Markup in der Datei.
Allerdings, wenn ich versuche Lesung durch die Datei in einer Schleife, während in ein Shell-Skript, es bricht jeder Raum als einen Zeilenumbruch, und jeden Zeilenumbruch als Doppel-Pause.
Unten ist der Code:

Code:
#!/usr/bin/ksh
for i in `cat -n servername.lpp`
do 
echo "$i"
done

Die seltsame Sache ist, dass die Katze scheint nicht zu bemerken, dass die Linien werden aufgebrochen, wie die Ausgabe weiter unten.
Ich habe auch versucht, Lesung in der Datei mit einem zweiten perl Skript (für i in `perl perlscript.pl) und hat genau das gleiche Problem.

Ausgang in die

Ausgabe von Script-Datei:

Code:
 1
#Package
Name:Fileset:Level:State:PTF
Id:Fix
State:Type:Description:Destination
Dir.:Uninstaller:Message
Catalog:Message
Set:Message
Number:Parent:Automatic:EFIX
Locked:Install
Path:Build
Date
2
Java14.sdk:Java14.sdk:1.4.2.175:
:
:C:F:Java
SDK
32-bit:
:
:
:
:
:
:0:0:/:


Ich habe auch versucht, dies mit Bash-Shell angegeben. Ich bin mir nicht sicher, wie man diese beheben. Jede Hilfe wird gebeten.

Zuletzt bearbeitet von mshulman1980; am 04-21-2009 02:38 PM.. Begründung: Ersetzt Zitat-Tags mit dem Code-Tag, um die automatische Einfügen der Emoticons
  #2 (permalink)  
Old 04-21-2009
devtakh devtakh is offline
Registrierte Nutzer
  
 

Join Date: Oct 2007
Ort: Bangalore
Beiträge: 514
Bitte geben Sie eine Probe-Eingang und-Ausgang-Datei erwartet


Prost,
Devaraj Takhellambam
  #3 (permalink)  
Old 04-21-2009
mshulman1980 mshulman1980 is offline
Registrierte Nutzer
  
 

Join Date: Apr 2009
Beiträge: 4
Beispiel Eingabe:
[CODE]
readline: readline-4.3-2: 4,3::: C: R: Eine Bibliothek für das Lesen und Rückflug Linien von einem Terminal aus.:: / bin / rpm-e readline::::: 0:
sudo: sudo-1.6.7p5-3: 1.6.7p5::: C: R: Ermöglicht eingeschränkt root-Zugriff für bestimmte Benutzer.:: / bin / rpm-e sudo::::: 0:
entpacken: unzip-von 5,51 bis 1: 5,51::: C: R: Ein Dienstprogramm für das Entpacken von ZIP-Dateien.:: / bin / rpm-e unzip::::: 0:
wget: wget-1.9.1-1: 1.9.1::: C: R: Ein Dienstprogramm für das Abrufen von Dateien mit dem HTTP-oder FTP-Protokolle.:: / bin / rpm-e wget::::: 0:
zip: zip-2.3-3: 2,3::: C: R: Eine Datei-Komprimierung und Verpackung Dienstprogramm mit PKZIP.:: / bin / rpm-e zip::::: 0:

[/ Code]

Die Ausgabe sollte identisch sein. Sobald ich kann, um jede Zeile in den Speicher, I wird durch die Zeilen analysieren.
  #4 (permalink)  
Old 04-21-2009
giannicello giannicello is offline
Registrierte Nutzer
  
 

Join Date: Sep 2001
Ort: Phoenix
Beiträge: 169
Ich würde eine while-Schleife ... zum Beispiel:

IFS \u003d ":"
while read line; tun
echo $ line
done <servername.lpp
  #5 (permalink)  
Old 04-21-2009
mshulman1980 mshulman1980 is offline
Registrierte Nutzer
  
 

Join Date: Apr 2009
Beiträge: 4
giannicello: Vielen Dank!

I angehängt das Skript, um die Doppelpunkte in für spätere Parsen.

#! / bin / bash
IFS \u003d ":"
while read line; tun
echo $ line
done <servername.lpp | tr '' ':'
  #6 (permalink)  
Old 04-21-2009
devtakh devtakh is offline
Registrierte Nutzer
  
 

Join Date: Oct 2007
Ort: Bangalore
Beiträge: 514
Versuchen Sie es mit einer while-Schleife statt ... Ihr Problem zu sein scheint, weil der echo-Befehl

while read line
tun
echo $ line
done < "Dateiname"

Wenn Sie wollen, dass die Linie auch:

i \u003d 1; while read line; do echo "$ i $ line"; i \u003d `expr $ i + 1" done < "Dateiname"


Prost,
Devaraj Takhellambam
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 05:05 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