Apagando 2 linhas do fim de um arquivo

Publicado por Rafael Augusto Cucharo 13/10/2004

[ Hits: 7.690 ]

Download linha




Tentei durante 3 dias fazer com
que... com 1 comando, eu pudesse
apagar 2 linhas de um determinado
arquivo.. CONSEGUI!!! Só que,
ainda está bem simples, pois nao
tive tempo de aprimorar. Depois,
com o uso do echo e do read será
possivel fazer com que leia um
numero, e o apague do arquivo.

  



Esconder código-fonte

# Criado por Rafael Augusto Cucharo
# rafael@rdnet.com.br
if [ -z $2 ] ; then
        echo Usage: ./linha arquivo arquivo.novo
        echo Onde arquivo eh o arquivo a ser lido
        echo e arquivo.novo eh o arquivo criado com
        echo 2 linhas a menos.
        exit 1
fi

file="$1"
file2="$2"
wc=`cat $file | wc -l`
wc2=`expr $wc - 2`
head -n $wc2 $file > $file2

Scripts recomendados

iptables geral com roteamento de portas

Overclock em INTEL HD GRAPHICS!

Configurando um Servidor de Nomes no CL10 apenas respondendo algumas perguntas...

DEBIAN MODO AP

Criação de usuários no Linux


  

Comentários
[1] Comentário enviado por Ratiug_Sing3R em 26/01/2005 - 17:12h

e ai kra... implementei o lance de deletar o elemento.... kra.. vc entra com o terceiro parametro que é justamente o elemento que vai ser retirado...
usei o stream editor.... o unico lance a rever é que todas as ocorrencias do elemento serão eliminadas..... falou té mais... o código tá abaixo:

#!/bin/sh
#Criado por Rafael Cucharo
#rafael@rdnet.com.br
#incrementado por J.Victor - Ratiug Sing3R
#elemento a ser retirado

if [ -z $2 ] ; then
echo Usage: ./linha \<arquivo\> \<arquivo.novo\> \<elemeto_a_ser_deletado\>
echo Onde arquivo eh o arquivo a ser lido
echo arquivo.novo eh o arquivo criado com
echo 2 linhas a menos.
echo e elemeto_a_ser_deletado eh o elemento que vai ser deletado..rsrsrs
exit 1
fi

file="$1"
file2="$2"
elemento=$3

wc=`cat $file | wc -l`
wc2=`expr $wc - 2`
head -n $wc2 $file > $file2

if [ -z $3 ] ; then
echo Nenhum elemento a ser deletado do arquivo foi informado.
else
file3="dump"
sed /$elemento/d $file2 > $file3
rm -rf $file2
mv $file3 $file2
fi



[2] Comentário enviado por Ratiug_Sing3R em 26/01/2005 - 17:16h

Agora é o seguinte se vc quer eliminar só a linha a ser deletada infomando seu numero dá pra fazer tb... me fala... qualquer coisa....

t+

[3] Comentário enviado por D3v1L em 02/02/2005 - 14:53h

Gostei desse script, foi uma mão na roda pra fazer um outro que arruma o meu relogio no Debian..


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts