Eu tenho o seguinte conteúdo em um arquivo: Estes são apenas alguns carimbos de data/hora
455860902
868790949
279116188
689905426
exemplo - eu gostaria de seguir a saída
###########
sed -n '/455860902/,/868790949/p' file
sed -n '/868790949/,/279116188/p' file
sed -n '/279116188/,/689905426/p' file
Ele precisa passar por um loop para evitar que eu digite o sed
comando todas as vezes.
Responder1
usando awk
:
awk 'prev{ print "sed -n \047/" prev "/,/" $0 "/p\047 file"; }
{ prev=$0 }' infile
Responder2
Funcionou bem, mas não é tão bom quanto a resposta anterior
la=`awk 'END{print NR}' filename`
co=$(($la - 1))
for i in `sed -n "1,"$co"p" filename`; do awk -v i="$i" '$1 ~ i {getline x;print "sed -n" " " "/"$0"/,/"x"/p"}' filename; done| sed "s/\//'&/"| sed "s/\/p/\/p'/g"
saída
sed -n '/455860902/,/868790949/p'
sed -n '/868790949/,/279116188/p'
sed -n '/279116188/,/689905426/p'