Francisco Welington de Sousa Lima escribió:
Olá pessoal,

   meus arquivos estão assim;

           1   1349921.08496094        1214935.60073805
   984297.043136346          1500000
...

porque não formatei ,alguém sabe como torná-lo assim
   1   1349921.08496094 1214935.60073805  984297.043136346  1500000
Sem ser manualmente, pois são dezenas de arquivos e cada com 500 linhas.

Para cada um, tem que imprimir uma linha sem o salto de carro ao final e uma linha com. Assim:

  PAR=0
  cat arquivo | while read line
  do
    if test $PAR = 0
    then
      echo -n $line ''
      PAR=1
    else
      echo $line
      PAR=0
    fi
  done > arquivo.tmp
  mv arquivo.tmp arquivo

Se tem muitos arquivos, pode usar "for" para fazer tudo de uma vez. Assim:

  for arquivo in *
  do
    PAR=0
    cat $arquivo | while read line
    do
      if test $PAR = 0
      then
        echo -n $line ''
        PAR=1
      else
        echo $line
        PAR=0
      fi
    done > $arquivo.tmp
    mv $arquivo.tmp $arquivo
  done

Arrume o * se fosse necessário e diretamente cole todas as linhas de uma vez no shell; não necessita fazer um script para isso nem copiar a mão as linhas de a uma.

A opção de usar um script no vim é boa também. Se já a tem feita, pode automatizar o recorrido dos arquivos com "for", como no caso anterior. Assim:

  for arquivo in *
  do
    vim -c "comando_de_vim" -c "wq" $arquivo
  done

De emacs não farei nenhum comentário... :)

--
Guillermo Pereyra Irujo
Tandil, Argentina


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Responder a