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
Konkatenation mehrere Zeilen zu einer Zeile, wenn mit Muster phixsius Shell Programmierung und Scripting 13 01-24-2008 11:02 PM
Konkatenation Werte in einer Datei amitkhiare Shell Programmierung und Scripting 7 10-09-2007 10:43 PM
Konkatenation statische Einträge in der Zeichenkette in Datei gillbates Shell Programmierung und Scripting 5 06-22-2006 07:22 PM
Brauchen Sie Hilfe Anhängen Zeilen / Kombination innerhalb einer Datei ... mr_manny Shell Programmierung und Scripting 2 01-06-2006 06:45 PM
Konkatenation Linien und der Formatierung ab. Tonka52 Shell Programmierung und Scripting 3 12-01-2004 09:24 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 06-26-2006
srivsn srivsn is offline
Registrierte Nutzer
  
 

Join Date: Dec 2005
Beiträge: 32
Konkatenation der beiden Zeilen in einer Datei

Hi
Meine Pflicht ist habe ich eine Datei mit einigen Aufzeichnungen davon

Dateiname:: xyz

a \u003d 1
b \u003d 100200
, 300400
, 500600
c \u003d 700800
d \u003d 900

Ich möchte meine Datei
a \u003d 1
b \u003d 100200300400
c \u003d 700800
d \u003d 900

wenn Datensatz beginnt mit "," das sollte Fallows der vorherigen line.please geben Skript oder Befehl, um meine erforderlich Ausgabedatei

Danke
  #2 (permalink)  
Old 06-26-2006
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Join Date: März 2005
Ort: Blattknoten in B + Baum
Posts: 2958
Es gibt immer eine bessere Lösung,


Code:
#! /usr/bin/ksh

awk '{ if( $0 ~ /^,/ ) { printf "%s 1\n",$0 } else { printf "%s 0\n",$0 } }' file | while read
line ind
do
  if [ $ind -eq 0 ]
  then
     echo $var
     var=""
  fi
  var=$var$line
done
echo $var

exit 0

Ihre Eingabedatei hatte
, 500600

Ich glaube, sie sollte auch im Anhang mit den vorherigen Zeilen,

O / P der Skript

Code:

a=1
b=100,200,300,400,500,600
c=700,800
d=900

  #3 (permalink)  
Old 06-26-2006
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

Join Date: Feb 2006
Ort: Almería, Spanien
Beiträge: 393
Eine weitere Möglichkeit:

Code:
while read LINE
do
echo ${LINE}|grep -qE "^,+"
if [ $? -eq 0 ] 
then
   echo "${LINE}\c"
else
   echo "\n${LINE}\c"
fi
done<input_file
echo

  #4 (permalink)  
Old 06-26-2006
reborg's Avatar
reborg reborg is offline Forum Staff  
Administrator
  
 

Join Date: März 2005
Ort: Irland
Posts: 4245

Code:
sed -e 'H;$!d;x;s/\n,/,/g' file > newfile

  #5 (permalink)  
Old 06-27-2006
mbketan mbketan is offline
Registrierte Nutzer
  
 

Join Date: Jun 2006
Beiträge: 9
Concatenate es

Eine andere Lösung:

for i in `cat tt"
tun
if [ `echo $ i | cut-c1-1" \u003d ""]
dann
prevline \u003d "$ prevline $ i"
sonst
echo $ prevline
prevline \u003d $ i
fi
getan
echo $ prevline
  #6 (permalink)  
Old 06-27-2006
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
Goober Extraordinaire
  
 

Join Date: Jul 2001
Ort: Portland, OR, USA
Beiträge: 1584
Während wir es, einen anderen Weg:

Code:
#! /bin/bash

while read line; do
 [[ $line == ,* ]] && {
  printf "%s" "$line"
 } || {
  printf "\n%s" "$line"
}
done; printf "\n"

Akzeptiert redirects und Beiträge von Rohr, wie die meisten anderen. Ich muss sagen, ich mag die sed Beispiel oben. Pretty nifty ...
  #7 (permalink)  
Old 07-17-2008
ca_sr2274 ca_sr2274 is offline
Registrierte Nutzer
  
 

Join Date: Jul 2008
Beiträge: 2
Hi All,

Wie die beiden Linien von Datensätzen in einer einzigen Zeile mit Unix-Shell-Skripten.

hier die Datei-Format:
erste Zeile
ABC0001 F0000000000677249 677
zweiten Zeile.
ABC00029980000 00000 USA0001099

Ich möchte, dass die Ausgabe wie folgt
ABC0001 F0000000000677249 677ABC00029980000 00000 USA0001099

müssen, um die über zwei Leitungen in einem einzigen Aufzeichnungen.

Bitte helfen.

Danke
ca_sr2274
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 01:59 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