Script com rotinas interessantes para copiar e extrair arquivos

Segue um script para copiar dados para um outros computador e depois extrair so dados, que estão em formato “.tar”. Pode parecer um pouco com “usar um canhão para matar mosca”, mas a ideia é mais mostrar algumas rotinas que acho interessante. Por exemplo, a entrada do script deve ser o ano seguido do mês e separados por espaço – caso não seja esse o formato dos argumentos de entrada, o script pára (“exit 1”). Também tem duas rotinas para pegar, além do mês informado, o último dia do mês anterior e o primeiro dia do mês seguinte. Depois vem a rotina para copiar os dados (a opção R do comando rsync mantém estrutura de diretórios). Por último, a construção de dois vetores (de estações e de diretórios) para serem percorridos por um laço e executar a ação proposta.

Caso precise juntar dois ou mais arquivos, é comum utilizar “cat arq1 arq2 > arqfinal” para colocar o conteúdo de arq2 logo depois de arq1 em um novo arquivo. Mas se é necessário colocar uma linha ao lado da outra (como se fosse unir colunas em um mesmo arquivo), existe o comando paste: “paste arq1 arq2”. Ele irá unir a linha 1 de arq1 com a linha 1 de arq2, separando-as com um TAB, e assim sucessivamente. Caso queira substituir as tabulações por espaços em branco, utilize depois o comando “expand -t 1” (substitui 1 tab por 1 espaço).

Uma opção mais elaborada é através do seguinte comando: .join -t’:’ -1 N -2 N arq1 arq2 Ele permite juntar dois ou mais arquivos baseando-se em um campo em comum; nesse caso, ele define o separador de campos como “dois pontos” e as colunas 1 e 2 dos arquivos arq1 e arq2, respectivamente, como sendo os campos em comum para comparação.