- Gerar link
- X
- Outros aplicativos
Postagem em destaque
- Gerar link
- X
- Outros aplicativos
Sobre
Mesclar linhas de arquivos.
Descrição
Escrever linhas consistindo das sequências correspondentes de linhas de cada arquivo, separados por TABs para a saída padrão.
Para mais informações consulte o manual: paste(1)
Uso
Para este exemplo criei dois arquivos chamados arq1.txt e arq2.txt. No arq1.txt estão armazenados alguns nomes, enquanto no arq2.txt temos idades; Ambos os arquivos possuem a mesma quantidade de itens.
Segue o conteúdo de ambos os arquivos:
Exemplos
1. Mesclando o conteúdo dos arquivos.
Observe que o conteúdo dos arquivos foram exibidos em paralelo, listando os dados como em colunas; Onde a primeira linha da saída padrão é constituída do conteúdo da primeira linha de cada arquivo e assim por diante.
2. Definindo o caractere '=' (igual) como delimitador no lugar do TAB
Por padrão o comando utiliza a tabulação como delimitador para separar o conteúdo dos arquivos enquanto são exibidos. Ao definir o sinal de '=' (igual) como delimitador, alteramos o comportamento do comando e o sinal é inserido entre os valores das linhas de cada arquivo.
Nota: É possível definir uma lista de delimitadores, onde cada delimitador é inserido na ordem declarada, anexando-o ao seu respectivo campo separador. Se o número de campos for superior ao número de delimitadores, o comando reinicia o ciclo da lista.
3. Intercalando as linhas.
Neste caso ao definir o caractere '\n' (nova linha) como delimitador, forçamos o comando a inseri-la sempre que a linha do arquivo subsequente é lida. Fazendo com que a mesma seja anexada a próxima linha.
4. Listando o conteúdo na horizontal.
Observe que o conteúdo de cada arquivo é listado um por linha, exibindo as informações na horizontal.
5. Simulando o comando cat.
Ao utilizar o parâmetro '-s' em conjunto com '-d', fez com que o comando anexasse uma nova linha em cada campo do arquivo (um de cada vez), o resultado obtido foi o mesmo que executar o comando 'cat arq1.txt arq2.txt'.
Nota: A opção '-z, --zero-terminated' delimita itens com zero byte em vez de uma nova linha (ASCII LF). Trata a entrada como itens separados por ASCII NUL e termina a saída com ASCII NUL. Esta opção pode ser útil conjuntamente com 'perl -0' ou 'find -print0' e 'xargs -0' que faz o mesmo para manipular de forma confiável nomes de arquivos arbitrários (mesmo aqueles que contêm espaços em branco ou outros caracteres especiais).
Mesclar linhas de arquivos.
Descrição
Escrever linhas consistindo das sequências correspondentes de linhas de cada arquivo, separados por TABs para a saída padrão.
Para mais informações consulte o manual: paste(1)
Uso
paste [OPCAO]... [ARQUIVO]...
Para este exemplo criei dois arquivos chamados arq1.txt e arq2.txt. No arq1.txt estão armazenados alguns nomes, enquanto no arq2.txt temos idades; Ambos os arquivos possuem a mesma quantidade de itens.
Segue o conteúdo de ambos os arquivos:
SHAMAN@shellscriptx:~$ cat arq1.txt
Maria
João
Leticia
Jader
SHAMAN@shellscriptx:~$ cat arq2.txt
55 anos
23 anos
42 anos
34 anos
Exemplos
1. Mesclando o conteúdo dos arquivos.
SHAMAN@shellscriptx:~$ paste arq1.txt arq2.txt
Maria 55 anos
João 23 anos
Leticia 42 anos
Jader 34 anos
2. Definindo o caractere '=' (igual) como delimitador no lugar do TAB
SHAMAN@shellscriptx:~$ paste -d'=' arq1.txt arq2.txt
Maria=55 anos
João=23 anos
Leticia=42 anos
Jader=34 anos
Nota: É possível definir uma lista de delimitadores, onde cada delimitador é inserido na ordem declarada, anexando-o ao seu respectivo campo separador. Se o número de campos for superior ao número de delimitadores, o comando reinicia o ciclo da lista.
3. Intercalando as linhas.
SHAMAN@shellscriptx:~$ paste -d'\n' arq1.txt arq2.txt
Maria
55 anos
João
23 anos
Leticia
42 anos
Jader
34 anos
4. Listando o conteúdo na horizontal.
SHAMAN@shellscriptx:~$ paste -s arq1.txt arq2.txt
Maria João Leticia Jader
55 anos 23 anos 42 anos 34 anos
5. Simulando o comando cat.
SHAMAN@shellscriptx:~$ paste -d '\n' -s arq1.txt arq2.txt
Maria
João
Leticia
Jader
55 anos
23 anos
42 anos
34 anos
Nota: A opção '-z, --zero-terminated' delimita itens com zero byte em vez de uma nova linha (ASCII LF). Trata a entrada como itens separados por ASCII NUL e termina a saída com ASCII NUL. Esta opção pode ser útil conjuntamente com 'perl -0' ou 'find -print0' e 'xargs -0' que faz o mesmo para manipular de forma confiável nomes de arquivos arbitrários (mesmo aqueles que contêm espaços em branco ou outros caracteres especiais).
Comentários
Postar um comentário