6
votes

Répertoires diff a et b. Afficher uniquement les fichiers de B, pas dans un

Le titre sumarise ma question. Compte tenu des répertoires A et B, je souhaite pouvoir générer une liste de fichiers qui sont en B mais non dans un.

Un diff normal fait cela, mais il affiche également des fichiers dans une non in b: p>

$ diff -u /mnt/Media/a ~/b    
Only in /mnt/Media/a: abab
Only in /home/conor/b: blah


0 commentaires

3 Réponses :


8
votes

Essayez ceci

​​Pick-up l'un d'entre eux: p> xxx pré>

ou p> xxx pré>

ou p >

LANG=C


5 commentaires

Bonjour, ça ne fonctionne pas pour moi. Utilisation de "Lang = C diff-Aqr A B" Il s'agit de différences d'inscription entre les deux répertoires. L'option -a est de comparer en tant que texte? Je ne veux pas faire cela car les fichiers que je comparais ne sont pas du texte


Oui, c'est pour le texte. Supprimé -A interrupteur. Si cela "ne fonctionne toujours pas", dites-nous ce qui est vraiment faux.


Eh bien, il s'agit de la liste des fichiers dans A qui ne sont pas dans B et les fichiers de B qui ne sont pas dans une. Selon le titre, je veux seulement énumérer les fichiers ultérieurs de B qui ne sont pas dans un


Lisez plus attentivement ma réponse


Ah Ok, mes excuses, essaient avec la première moitié de la commande. Travaillez maintenant en utilisant votre réponse complète. Merci



5
votes

La commande uniq code> est plus utile que vous pourriez imaginer. Considérez deux répertoires Dira CODE> et DIRB CODE>:

% cat listA listA listB | sort | uniq -u 
./s1/f1
% 


0 commentaires

4
votes

Typiquement, lorsque je dois le faire, je vais à la petite technologie: xxx

Cela me permet d'affiner les résultats. "Oh, whoops, je voulais exclure les répertoires .svn de ~ / a", alors réexécutez le fichier ~ / fooa sans répertoires .svn et ensuite réaffectant.


0 commentaires