GNU/Linux >> Tutoriels Linux >  >> Linux

Comment différencier uniquement la première ligne de deux fichiers?

Voilà :

diff <(head -n 1 file1) <(head -n 1 file2)

(cela ne renverrait rien du tout).

diff <(head -n 2 file1) <(head -n 2 file2)

Returns:
2c2
< 1
---
> 3

Vous pouvez incorporer cela dans un script pour faire les choses que vous mentionnez.

#!/bin/bash

fileOne=${1}
fileTwo=${2}
numLines=${3:-"1"}

diff <(head -n ${numLines} ${fileOne}) <(head -n ${numLines} ${fileTwo})

Pour l'utiliser, il suffit de rendre le script exécutable avec chmod +x nameofscript.sh puis pour exécuter, ./nameofscript.sh ~/file1 ~/Docs/file2 Cela laisse le nombre de lignes par défaut à 1, si vous en voulez plus, ajoutez un nombre à la fin de cette commande.

(Ou vous pouvez faire des changements dans votre script avec -f1 file1 -f2 file2 -n 1, mais je ne me souviens pas du haut de ma tête de la déclaration de cas pour cela).

head retourne depuis le début le # de lignes comme suggéré par -n . Si vous deviez faire l'inverse, ce serait tail -n ${numLines} (la queue fait de la fin le nombre de lignes).

Modifier 10/05/16 :

Ceci est spécifique à Bash (et aux shells compatibles). Si vous avez besoin de l'utiliser à partir d'autre chose :

bash -c 'diff <(...) <(...)'

Linux
  1. Comment rechercher des fichiers dans CentOS 8 sur la ligne de commande

  2. Comment insérer du texte avant la première ligne d'un fichier ?

  3. Comment différencier un répertoire uniquement pour les fichiers d'un type spécifique ?

  4. Comment lister (ls) les 5 derniers fichiers modifiés dans un répertoire ?

  5. Comment faire un diff binaire sur deux fichiers de taille identique sous Linux ?

Comment lire des fichiers ligne par ligne dans Bash

Comment rechercher des fichiers à partir de la ligne de commande Linux

Comment trouver des fichiers sur la ligne de commande Ubuntu

Comment comparer deux fichiers dans un terminal Linux

Comment télécharger des fichiers dans Rocky Linux 8 sur la ligne de commande à l'aide de wget

comment puis-je différencier deux sections du même fichier ?