- Gerar link
- Outros aplicativos
Postagem em destaque
- Gerar link
- Outros aplicativos
Apesar do procedimento ser incomum, essa dúvida foi levantada por um membro no grupo shellscriptx no Telegram e é claro como todo problema buscamos solucioná-lo. Embora pareça uma tarefa complexa, a lógica de sua solução é relativamente simples da qual primeiramente preciso encontrar o número da linha que refere-se ao meio do arquivo de destino e a partir dessa linha anexar o conteúdo do arquivo de origem.
Considere o conteúdo dos arquivos abaixo:
destino.txt | origem.txt |
Radeon 7000 Series
Radeon 8000 & 9000 Series Radeon R300 Series Radeon X700 & X800 Series Radeon X1000 Series Radeon HD 2000 Series Radeon HD 3000 Series Radeon HD 4000 Series Radeon HD 5000 Series Radeon HD 6000 Series Radeon HD 7000 Series Radeon HD 8000 Series Radeon R5/R7/R9 200 Series Radeon R5/R7/R9 300 Series Radeon RX 400 Series Radeon RX 500 Series Radeon RX Vega Series |
PCI 4X
AGP 8X PCI-E 16X |
Para encontrar o número da linha referente ao centro do arquivo vou realizar uma operação aritmética simples de divisão que é: calcular o total de linhas contidas no arquivo de destino e dividir por 2, veja a linha de comando:
$(($(cat destino.txt | wc -l)/2))
A ferramenta que utilizarei para anexar o conteúdo será o 'sed' que na minha humilde opinião é mais eficiente neste caso. Usando uma composição com o comando acima em conjunto com a flag 'r' que lê o conteúdo do arquivo de origem a cada iteração do arquivo destino, que no meu caso ocorrerá em uma única linha já que a mesma foi especificada.
$ sed -i "$(($(cat destino.txt | wc -l)/2)) r origem.txt" destino.txt
# Listando conteúdo do arquivo.
$ cat destino.txt
Radeon 7000 Series
Radeon 8000 & 9000 Series
Radeon R300 Series
Radeon X700 & X800 Series
Radeon X1000 Series
Radeon HD 2000 Series
Radeon HD 3000 Series
Radeon HD 4000 Series
PCI 4X
AGP 8X
PCI-E 16X
Radeon HD 5000 Series
Radeon HD 6000 Series
Radeon HD 7000 Series
Radeon HD 8000 Series
Radeon R5/R7/R9 200 Series
Radeon R5/R7/R9 300 Series
Radeon RX 400 Series
Radeon RX 500 Series
Radeon RX Vega Series
Espero que seja útil e não deixe de contribuir com suas dúvidas. Valeu galera !! E até a próxima.
Comentários
Postar um comentário