The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Concatenar múltiplas linhas de jogo se uma linha padrão phixsius Programação Shell Script e 13 01-24-2008 11:02
Concatenar valores em um arquivo amitkhiare Programação Shell Script e 7 10-09-2007 09:43
concatenar estática seqüência aos registros no arquivo de dados gillbates Programação Shell Script e 5 06-22-2006 06:22
precisam de ajuda anexando linhas / combinando linhas dentro de um arquivo ... mr_manny Programação Shell Script e 2 01-06-2006 06:45
Concatenar linhas e formatação. Tonka52 Programação Shell Script e 3 12-01-2004 09:24

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 Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 06-26-2006
srivsn srivsn is offline
Usuário
  
 

Join Data: dezembro 2005
Lugares: 32
Concatenar as duas linhas em um arquivo

oi
Minha exigência é que tenho um arquivo com alguns registros como este

nome do arquivo:: xyz

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

Quero mudar meu arquivo
a \u003d 1
b \u003d 100200300400
c \u003d 700800
d \u003d 900

se inicia com registro "," a linha que o anterior deve Pousios line.please dar script ou comando para buscar o meu arquivo de saída requeridos

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

Join Date: Mar 2005
Localização: nó folha na árvore B +
Mensagens: 2.953
sempre há uma solução melhor,

Código:
#! /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
teve o seu arquivo de entrada
, 500600

Eu acredito que eles devem também ser anexado com as anteriores linhas,

O / P acima do script
Código:

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
Localização: Almería, Espanha
Posts: 393
Outra forma:
Código:
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  
Administrador
  
 

Join Date: Mar 2005
Localização: Irlanda
Mensagens: 4.211
Código:
sed -e 'H;$!d;x;s/\n,/,/g' file > newfile
  #5 (permalink)  
Old 06-27-2006
mbketan mbketan is offline
Usuário
  
 

Join Date: Jun 2006
Posts: 9
Concatenar que

Outra solução:

para i em `gato` tt
fazer
if [ `echo $ i | cut-c1-1` \u003d ","]
então
prevline \u003d "$ prevline $ i"
diferente
echo $ prevline
prevline $ i \u003d
fi
feito
echo $ prevline
  #6 (permalink)  
Old 06-27-2006
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
Goober Extraordinaire
  
 

Join Date: Jul 2001
Localização: Portland, OR, E.U.A.
Posts: 1.584
Enquanto estamos a ela, uma outra forma:
Código:
#! /bin/bash

while read line; do
 [[ $line == ,* ]] && {
  printf "%s" "$line"
 } || {
  printf "\n%s" "$line"
}
done; printf "\n"
Admite redirects e entrada de tubo, como faz a maioria dos outros. Tenho de dizer, Eu gosto de sed exemplo acima. Pretty nifty ...
  #7 (permalink)  
Old 07-17-2008
ca_sr2274 ca_sr2274 is offline
Usuário
  
 

Join Date: Jul 2008
Posts: 2
Todas oi,

Como combinar as duas linhas de registros em uma única linha usando Unix shell scripts.

aqui com o formato de arquivo:
primeira linha
ABC0001 F0000000000677249 677
segunda linha.
ABC00029980000 00000 USA0001099

Gostaria que a saída do seguinte
ABC0001 F0000000000677249 677ABC00029980000 00000 USA0001099

necessidade de fundir as duas linhas acima em um único registro.

Por favor, ajudem.

Obrigado
ca_sr2274
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 07:00.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0