Apagando 2 linhas do fim de um arquivo
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.
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.
Descrição
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.
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.
# 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
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