Exibindo determinada linha de um arquivo no terminal
Opa, você conhece o EDLAT? Não?! É não conhece mesmo viu, eu criei essa Sigla para esta Dica hehehe.
EDLAT, é: "Exibindo Determinada Linha de um Arquivo no Terminal" ehehhee. :D
Pensei até em colocar como Título: "Conheça o EDLAT ...", mas, seria sacanagem, e com certeza você iria brigar comigo, não é mesmo?! Por ter colocado um título desses, poderia até imaginar que fiz de propósito para "forçá-lo" a ler essa dica, mas não era a intenção, tanto que, não coloquei esse título. :D
Brincadeiras a parte, vamos ao que interessa, à dica.
Bom, devido a uma pergunta que foi feita no dia 14/09/06 (não vou por "hoje", porque, quando o "hoje" terminar?! Vai ficar estranho né :D), sobre mostrar uma linha de um arquivo pelo terminal (onde a mesma, foi respondida por mim e um outro cara), então, resolvi mandar essa dica. Até porque, antes de escrevê-la, procurei para ver se já havia algo sobre o assunto (se tivesse não faria essa dica), e nada, não encontrei, portanto, aqui está uma breve dica.
Seguinte, vamos dizer assim, existem X meios de você fazer isso, porém mostrarei alguns. Caso você queira acrescentar mais alguma coisa, use o campo de comentários. :D
A Dica é ... para mostrar uma determinada linha de um arquivo pelo terminal, faça o seguinte (escolha um dos comandos, e pronto).
Abra um terminal, seja ele eTERM, aTERM, qual você preferir e digite o seguinte:
Outros tipos de comandos, mas com os resultados diferentes...
cat -n "Arquivo_Desejado" | grep "Linha_do_Arquivo"
cat -n "Arquivo_Desejado" | sed '7s/Linha_do_Arquivo//'
cat -n "Arquivo_Desejado" | sed '7s/Linha_do_Arquivo/Palavra_Desejada/'
Exemplos dos comandos acima:
$ cat -n "Arquivo_Exemplo" | grep "7"
$ cat -n "Arquivo_Exemplo" | sed '7s/7//'
$ cat -n "Arquivo_Exemplo" | sed '7s/7/Essa Linha Que Eu Quero:>/'
Veja a imagem para entender melhor:
Nota: O primeiro comando mostra todas as linhas do arquivo que tenha o número 7 (exemplo: 7, 17, 27, etc), já o segundo e o terceiro, ambos vão mostrar TODAS as linhas do arquivo, porém o segundo mostra todas as linhas, mas sem o número dela e o terceiro, além de mostrar todas as linhas, adiciona uma palavra antes da linha (a palavra que você escolher).
Vejamos mais exemplos...
Esses são bem dizer, o mesmo que os 3 (três) anteriores, mas, não será exibido no terminal, e sim, criado um arquivo com o resultado, vejamos:
[2] Comentário enviado por leaf em 28/09/2006 - 01:22h
opa, mais um pra galera ;dd ...
E como vc comentou, vo mandar otro tbm heehe ...
Tipow se vc fizer sem o "tail -1", da certo tbm ;dd ...
mas, no caso aí, ele mostra as 5 (cinco) Primeiras Linhas do Arquivo ...
Exemplo do comando:
cat Arquivo_Exemplo | head -5
Resultado ...:
Linha Número 1
Linha Número 2
Linha Número 3
Linha Número 4
Linha Número 5
[3] Comentário enviado por xerxeslins em 01/04/2009 - 04:34h
Gostei! =D
Obrigado pela informação!
Agora tenho mais um desafio pra vc:
Como eu faço para mostrar o conteúdo de um arquivo de texto, apenas a partir de uma determinada linha, que contenha uma determinada palavra?
Por exemplo, se eu tenho um arquivo com o seguinte conteúdo:
bolacha
bacia
bola
bolinho
bolo
balão
Como seria o comando pra listar o conteúdo do arquivo a partir da linha que tem a palavra bacia?
Não é pelo número da linha, pois eu poderia colocar "bacia" em outra linha e o mesmo comando teria que funcionar.
Essa eu perguntei, pois eu nao tenho a mínima idéia de como solucionar.
Se puder, poderia ao menos me dar uma dica sobre que comandos ou parâmetros eu teria que usar?
[7] Comentário enviado por lucasrc em 17/04/2017 - 14:40h
[3] Comentário enviado por xerxeslins em 01/04/2009 - 04:34h
Gostei! =D
Obrigado pela informação!
Agora tenho mais um desafio pra vc:
Como eu faço para mostrar o conteúdo de um arquivo de texto, apenas a partir de uma determinada linha, que contenha uma determinada palavra?
Por exemplo, se eu tenho um arquivo com o seguinte conteúdo:
bolacha
bacia
bola
bolinho
bolo
balão
Como seria o comando pra listar o conteúdo do arquivo a partir da linha que tem a palavra bacia?
Não é pelo número da linha, pois eu poderia colocar "bacia" em outra linha e o mesmo comando teria que funcionar.
Essa eu perguntei, pois eu nao tenho a mínima idéia de como solucionar.
Se puder, poderia ao menos me dar uma dica sobre que comandos ou parâmetros eu teria que usar?
Valeu!
Muito massa! segue um exemplo tosco que fiz agora. Você escreve um arquivo com esse conteúdo ai e coloca o nome dele de "teste.txt" dai você roda a seguinte linha:
Onde a variável "palavra" recebe o nome da palavra que vc ta buscando. Deve ter outra maneira muito mais fácil, mas ai tá um exemplo rápido que pensei agora.