ssofia Posted June 23, 2012 Report Share Posted June 23, 2012 Olá gente Estou a precisar de uma ajuda...para fazer isto em shell.... Eu tenho um doc_inicial com duas colunas, exemplo... rrrr 102030 ddd 030303 sss 2020394 O que eu quero é colocar isto num doc_final e que fique assim:.... rrrr ddd sss 102030 030303 2020394 Eu posso usar o comando "cut" para cortar as colunas que quero e depois usar algo para colar no meu doc final??? Bgdo pela ajuda Link to comment Share on other sites More sharing options...
falco Posted June 24, 2012 Report Share Posted June 24, 2012 Antes de mais recomendo-te que digas qual shell estás a utilizar, existem várias shell e várias delas têm sintaxes diferentes, por isso convém que digas qual usas. Recomendo-te que faças isso mas em Perl... Com Perl, ao contrário de com uma shell, só precisas de saber Perl, enquanto que com shell precisas de saber shell e várias outras ferramentas complementares, que frequentemente têm sintaxes bastante diferentes. Aprender o suficiente de Perl para fazer o que queres é elementar, por isso não vais gastar assim tanto tempo para aprender. Na secção de Perl do P@P, podes encontrar várias ligações com introduções ao Perl. Link to comment Share on other sites More sharing options...
pedrotuga Posted June 24, 2012 Report Share Posted June 24, 2012 Isso é um trabalho para o sed, mas por si só não chega, o sed processa linha a linha. Com o awk já te safarás, mas isso já estás a meio caminho de usar perl, o que é a escolha óbvia para este tipo de tarefa. google -> sed lines to columns Link to comment Share on other sites More sharing options...
Baderous Posted June 25, 2012 Report Share Posted June 25, 2012 Podes usar o cut e o paste: #!/bin/sh original='test.txt' final='final.txt' cut -f1 ${original} > 1.txt cut -f2 ${original} > 2.txt paste -s 1.txt 2.txt > ${final} Resultado final: $ cat final.txt rrrr ddd sss 102030 030303 2020394 Nota: assumi que as colunas do ficheiro original estavam separadas por um TAB, caso contrário tens de definir o delimitador no cut. 1 Report Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now