Pular para o conteúdo

Comando cut

Responder tópico
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
  • Denunciar
  • Indicar

1. Comando cut

Enviado em 31/10/2010 - 13:51h

Tenho arquivo.txt e quero excluir as 4 primeiras linhas e as 8 ultimas, não estou conseguindo!!!

Alguém pode me ajudar por favor?

Obrigado

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

3. Veja se isso ajuda

Enviado em 01/11/2010 - 17:01h

--- EDITADO ---

Ops... acabei postando uma solução incorreta para seu problema! O correto seria:

---------------

#!/bin/sh
#
# $1 = Linhas iniciais a remover
# $2 = Linhas finais a remover
# $3 = Arquivo de origem
#
# Uso: ./script 4 8 arquivo
#
total_linhas=`wc -l < $3`
linhas_finais=$((total_linhas - $2))
linhas_iniciais=$(($1 + 1))

sed -n ${linhas_iniciais},${linhas_finais}p $3

---------------

4. Exclusão Linhas Arquivo

Enviado em 02/11/2010 - 00:18h

Boa Noite Amigo,

O comando Cut é um delimitador de arquivos, onde pode ser utilizado para delimitar um arquivo em colunas, numero de caracteres ou por posição de campo.

Sintaxe:

# cut <opções> <arquivo>

Opções que mais utilizo:

-d: Especifica o caractere delimitador;
- f: Informa a posição do campo;

Exemplo de uso:

# cut -d “:” -f 1,3,5 /etc/passwd

Ira mostrar as colunas 1, 3 e 5 do arquivo /etc/passwd com o delimitador “:”.

já o comando Sed procura e substitui padroes em textos, mostrando o resultado em STDOUT.

Sintaxe de uso:

# sed <opções> 'comando e expressão relugar' <arquivo original>

Um exemplo de utilização:

# sed -e ' /^#/d' /boot/grub/menu.lst

Nesse caso, todas as linhas em branco do arquivo /boot/grub/menu.lst serão excluidas das visualização em STDOUT (sem alterar o arquivo original).

Opção:

-e: Executa uma expressão regular;

Comandos:

s: Substituir;
g: Substituir todas as ocorrencias;
d: Apagar a linha;

Nesse seu caso, pode tentar o comando abaixo, supondo que seu arquivo tenha 16 linhas (por exemplo):

# sed -e 1,4d -e 8,\$d <nome arquivo>

ou

# sed -e 1,4d -e 8,16d <nome do arquivo>

Se quiser, pode criar um novo arquivo com o resultado do sed:

# sed -e 1,4d -e 8,16d <nome do arquivo original> > <nome do novo arquivo>

Obs: Esse meu post é apenas um complemento.

Abraço e espero ter ajudado.

Danilo.

5. Re: Comando cut

Enviado em 02/11/2010 - 15:39h

Acabei trocando as ideias e postei uma solução incorreta para seu problema, mas editei o post anterior e agora sim, a forma está correta.

6. Obrigado

Enviado em 02/11/2010 - 15:46h

resolvido...
Muito obrigado.

7. e se eu quiser...

Enviado em 03/10/2013 - 23:40h

Ei pessoal... aproveitando aqui.. e se eu quiser pegar todas as outras menos a primeira colona?
acho que
-f2* não vai funcionar
XD

8. Selecionar da segunda coluna em diante

Enviado em 02/01/2015 - 11:47h

Pode-se usar cut -f2- -d"<delimitador>" <arquivo de entrada>

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

Entre na sua conta para responder.

Fazer login para responder