Al intentar leer el número de versión de vim , obtengo muchas líneas adicionales que debo ignorar. Traté de leer el manual de la head y probé el siguiente comando:
vim --version | head -n 1Quiero saber si este es el enfoque correcto.
Sí, esa es una forma de obtener la primera línea de salida de un comando.
Si el comando genera un error estándar que le gustaría capturar de la misma manera, debe redirigir el error estándar del comando al flujo de salida estándar:
utility 2>&1 | head -n 1 También hay muchas otras formas de capturar la primera línea, incluyendo sed 1q (salir después de la primera línea), sed -n 1p (solo imprime la primera línea, pero lee todo), awk 'FNR == 1' (solo imprime la primera línea, pero de nuevo, lee todo) etc.
Yo usaría:
awk 'FNR <= 1' file_*.txt Como señala @Kusalananda, hay muchas formas de capturar la primera línea en la línea de comando, pero usar head -n 1 puede no ser la mejor opción cuando se usan comodines, ya que imprimirá información adicional. Cambiar 'FNR == i' a 'FNR <= i' permite obtener las primeras i líneas.
Por ejemplo, si tiene n archivos llamados file_1.txt, ... file_n.txt:
awk 'FNR <= 1' file_*.txt hello ... bye Pero con comodines en la head imprima el nombre del archivo:
head -1 file_*.txt ==> file_1.csv <== hello ... ==> file_n.csv <== bye