ssofia Posted June 23, 2012 at 04:43 PM Report #465127 Posted June 23, 2012 at 04:43 PM 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
falco Posted June 24, 2012 at 04:12 PM Report #465226 Posted June 24, 2012 at 04:12 PM 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.
pedrotuga Posted June 24, 2012 at 05:38 PM Report #465238 Posted June 24, 2012 at 05:38 PM 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
Baderous Posted June 25, 2012 at 02:17 PM Report #465364 Posted June 25, 2012 at 02:17 PM 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
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