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
Muster, die die Beseitigung wird in mehrere Zeilen sabyasm Shell Programmierung und Scripting 2 05-13-2008 05:19 AM
mit tr, um mehrere Zeilen der Ausgabe in einer Zeile otes4 Shell Programmierung und Scripting 3 02-18-2008 11:30 AM
merge mehrere Zeilen aus flachen Datei hnhegde Shell Programmierung und Scripting 4 12-05-2006 07:13 PM
Verwenden Sie sed zu verschmelzen mehrere Zeilen xb88 Shell Programmierung und Scripting 3 08-08-2006 01:54 PM
Entfernen von Benutzerkonten aus mehreren Gruppen über die Befehlszeile jquizon62 SUN Solaris 1 10-28-2004 12:56 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 10-14-2008
Tink tink is offline
Registrierte Nutzer
  
 

Join Date: Jun 2008
Beiträge: 4
Entfernen Ende der Zeile zu verschmelzen mehrere Zeilen

Ich bin sicher, dies wird eine einfache Frage für Experten gibt, aber ich habe lange gesucht im Forum und auf das für ein paar Stunden und kann jetzt nicht mehr richtig.

Ich habe eine sehr chaotisch-Datei, dass ich versuche, aufräumen - eines der Themen ist einige Datensätze sind in mehrere Zeilen:

999999000 "Name" "Dies ist ein Text für die Linie
Zeile zwei
Zeile drei "

Und ich habe versucht alle möglichen Version von sed , es sieht wie folgt aus:
999999000 "Name" "Dies ist ein Text für Zeile Zeile zwei Zeile drei"

und ja, ich habe versucht, Dinge wie sed 's / $ / /' datei1> datei2 ... Das Problem ist nicht jede Zeile ist ein Thema, so versuche ich herauszufinden, wie sie nur entfernen Zeilenumbrüchen für problematisch Linien, nicht alle Linien

das Problem Zeilen beginnt mit alpha-numerischen Zeichen nicht, also habe ich versucht, etwas zu tun mit, aber ohne Erfolg

Danke

Zuletzt bearbeitet von Tink; am 10-14-2008 11:17 AM..
  #2 (permalink)  
Old 10-14-2008
ShawnMilo ShawnMilo is offline
Registrierte Nutzer
  
 

Join Date: Jun 2006
Beiträge: 252
Code:
cat temp.txt  | perl -pe 's/\n/ /'
  #3 (permalink)  
Old 10-14-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Join Date: Dezember 2007
Ort: Haus der 17-Weltmeister Boston Celtics
Beiträge: 1311
Wink Ist dies für Sie das gewünschte Ergebnis?

Code:
> cat file31
999999000 "Name" "this is text for line one
line two
line three"
888888000 "Yep" "All on one line"
777777111 "Yes" "Another good text"
555555999 "Name" "this is other text for line one
line two
line three"

> cat calc_file31
rm file32
while read line
  do
  if [ `echo "$line" | tr -d " " | grep '"$'` ]
   then
    echo "$line""~" >>file32
   else
    echo "$line" >>file32
  fi
done <file31

cat file32 | tr "\n" " " | tr "~" "\n"

> calc_file31
999999000 "Name" "this is text for line one line two line three"
 888888000 "Yep" "All on one line"
 777777111 "Yes" "Another good text"
 555555999 "Name" "this is other text for line one line two line three"
>
  #4 (permalink)  
Old 10-14-2008
Tink tink is offline
Registrierte Nutzer
  
 

Join Date: Jun 2008
Beiträge: 4
blutigen wunderbare joeyg - danke!


Diese auch für mich am Ende:
sed 's /"$/"|/ g' datei1> datei2

, da die doppelte Anführungszeichen wurde für die letzte Spalte ... so ersetzen Anführungszeichen und Zeilenende mit Anführungszeichen und Leitung ...

Nochmals vielen Dank
  #5 (permalink)  
Old 10-14-2008
freelong freelong is offline
Registrierte Nutzer
  
 

Join Date: Apr 2008
Beiträge: 38
Code:
awk '/^[0-9]/ { print ""; printf $0}
     !/^[0-9]/ {printf $0}
     END {print ""}' filename
Closed Thread

Lesezeichen

Tags
Zeilenenden, Linie Terminatoren, ersetzen, sed

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 12:27 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