Tengo un mini-sistema con número limitado únicamente de binarios ( bash, cp, cat, sed, ...). No tengo tailcomando, y me pregunto si podría emular la funcionalidad de cola consed
cat foo.txt | tail -n 10
Sé que puedo imprimir líneas 1-10 con sed cat foo.txt | sed -n '1,10p', pero ¿cómo imprimiría las últimas 10 líneas?

Respuestas:
Podrías hacer algo como esto:
fuente
sed -e :a -e '$q;N;11,$D;ba' foopara que coincida con la pregunta.sed -e '1,11p' -e :a -e '$q;N;11,$D;ba'Pero todavía me gustaría entender la parte de la cola !!!pero si no tienes tac, solo puedes usar sed de esta manera:
fuente
¿Está
exprdisponible con su sistema? Luego puede intentar evaluar el número de línea deseado después de haber contado el número total de líneas en el archivo.Creé un archivo llamado que
tmpcontiene los números del 1 al 20 en cada línea.Por supuesto, puede usar
wc -l, si está disponible.El comando para calcular el número total de líneas en el archivo se toma de sed one liners . Sin embargo, no he comprobado si también funciona con archivos vacíos.
PD Si
exprno está disponible, puede usar restar números en Bash como se muestra a continuación:fuente