The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com


Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Concatenating flere linjer til en linje, hvis matcher mønstret phixsius Shell Programmering og Scripting 13 01-24-2008 11:02 PM
Concatenating værdier i en fil amitkhiare Shell Programmering og Scripting 7 10-09-2007 10:43 PM
concatenating statisk strengen til regnskaber i datafil gillbates Shell Programmering og Scripting 5 06-22-2006 07:22 PM
har brug for hjælp til at tilføje linjer / kombinere linjer i en fil ... mr_manny Shell Programmering og Scripting 2 01-06-2006 06:45 PM
Concatenating linjer og formatering. Tonka52 Shell Programmering og 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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 06-26-2006
srivsn srivsn is offline
Registreret Bruger
  
 

Join Date: Dec 2005
Stillinger: 32
Concatenating de to linjer i en fil

hej
Mit krav er, jeg har en fil med nogle poster som denne

filnavn:: xyz

a \u003d 1
b \u003d 100.200
, 300.400
, 500.600
c \u003d 700.800
d \u003d 900

Jeg vil ændre min fil
a \u003d 1
b \u003d 100.200.300.400
c \u003d 700.800
d \u003d 900

hvis record starter med "," at linje skal forloren den tidligere line.please give script eller kommando for at få mine behov uddatafilen

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

Join Date: Mar 2005
Beliggenhed: blad node i B +-træ
Indlæg: 2.953
der er altid en bedre løsning,

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
Deres input fil havde
, 500.600

Jeg tror, de skal også blive tilføjet med de foregående linjer,

o / p af ovenstående script
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
Beliggenhed: Almería, Spanien
Posts: 393
En anden måde:
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: Mar 2005
Beliggenhed: Irland
Indlæg: 4.223
Code:
sed -e 'H;$!d;x;s/\n,/,/g' file > newfile
  #5 (permalink)  
Old 06-27-2006
mbketan mbketan is offline
Registreret Bruger
  
 

Join Date: Jun 2006
Stillinger: 9
Sammenkæde den

En anden løsning:

for i in `cat tt`
gøre
hvis [ `echo $ i | cut-c1-1` \u003d ","]

prevline \u003d "$ prevline $ i"
anden
echo $ prevline
prevline \u003d $ i
fi
gjort
echo $ prevline
  #6 (permalink)  
Old 06-27-2006
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
Goober ekstraordinære
  
 

Join Date: Jul 2001
Beliggenhed: Portland, OR, USA
Stillinger: 1584
Mens vi er ved det, en anden måde:
Code:
#! /bin/bash

while read line; do
 [[ $line == ,* ]] && {
  printf "%s" "$line"
 } || {
  printf "\n%s" "$line"
}
done; printf "\n"
Accepterer omdirigeringer og input fra rør, som gør det meste af de andre. Jeg må sige, jeg kan lide den sed eksemplet ovenfor. Pretty nifty ...
  #7 (permalink)  
Old 07-17-2008
ca_sr2274 ca_sr2274 is offline
Registreret Bruger
  
 

Join Date: Jul 2008
Stillinger: 2
Hi All,

Hvordan man kan kombinere de to linjer af registreringer i en enkelt linje ved hjælp af Unix shell-scripts.

her filformat:
første linje
ABC0001 F0000000000677249 677
anden linje.
ABC00029980000 00.000 USA0001099

Jeg vil gerne produktionen som følgende
ABC0001 F0000000000677249 677ABC00029980000 00.000 USA0001099

nødt til at fusionere de to ovennævnte linie i et enkelt poster.

Please help.

Tak
ca_sr2274
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 03:09 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Indhold Copyright © 1993-2009. All rights reserved.

Content Relevant webadresser ved vBSEO 3.2.0