Quiero diferenciar solo la primera línea de dos archivos, a diferencia del archivo completo. ¿Como podría hacerlo? Solo necesito una solución para la primera línea, pero si pudiera especificar el número de líneas, esa sería una respuesta mucho mejor.
Así que diff no devolvería diferencias entre los siguientes dos archivos:
a
1
2
y:
a
3
4
linux
command-line
diff
gsingh2011
fuente
fuente
Respuestas:
Aqui tienes:
(Esto no devolvería nada).
Puede incorporar eso en un guión para hacer las cosas que menciona.
Para usar eso, solo haga que el script sea ejecutable
chmod +x nameofscript.sh
y luego ejecutarlo../nameofscript.sh ~/file1 ~/Docs/file2
Eso deja el número predeterminado de líneas en 1, si desea agregar más un número al final de ese comando.(O puede hacer cambios en su secuencia de comandos con -f1 archivo1 -f2 archivo2 -n 1, pero no recuerdo la parte superior de mi cabeza la declaración del caso para eso).
head
devuelve desde el principio el número de líneas como lo sugiere-n
. Si quisieras hacer reversa, seríatail -n ${numLines}
(la cola desde el final vuelve el número de líneas).Editar 5/10/16:
Esto es específico de Bash (y shells compatibles). Si necesita usar esto de otra cosa:
fuente
diff -r dir1 dir2
para los directorios, para limitarlo es probable que desee a la tubería que a otra cosa. Si tiene detalles, abra una nueva pregunta y dé un enlace aquí.bash -c "diff <(...) <(...)"
diff -U (n de líneas) archivo1 archivo2
fuente
-U
argumento? :)