Нахождение уникального файла - PullRequest
2 голосов
/ 27 февраля 2020

Есть ли способ найти уникальный / измененный файл

У меня есть два текстовых файла с ha sh и именами, например:

File1.txt

   c3f2b563b3cb091esada5b40fbfd5e60f526da3d *10.88.10/1.xml
   770aafff757f83e55c4cadaad7144e512299788d *10.88.10/config/2.csv
   38045a78f87addaddada4c3754bea76c72cbfe25 *10.88.10/3.txt
   asddd132dfdada1231431411ddsfadfgdkkgdada *10.88.10/4.js

file2.txt:

c3f2b563b3cb091esada5b40fbfd5e60f526da3d *10.88.12/1.xml
770aafff757f83e55c4cadaad7144e512299788d *10.88.12/config/2.csv
38045a78f87addaddada4c3754bea76c72cbfe25 *10.88.12/3.txt
asddd1222131231231sadsdaddsfadfgdkkgdada *10.88.12/4.js
dadadadawqeqweqwg32542362436532wqrewqr32 *10.88.12/5.py

Вы можете видеть, что некоторые файлы в file1.txt и file2.txt совпадают. В File2.txt добавлен файл с именем 5. js и обновленный / измененный файл с именем 4. js. Есть ли способ вывести измененные и добавленные файлы в файл file2.txt

Expected Output :
Output.txt

    10.88.12/4.js
    10.88.12/5.py

Я пробовал diff cmd, но он показывает, что все файлы разные из-за имени файла (с 10.88.10 по 10.88.12) Я пытался cut -d' ' f1, но после diff смд я не могу найти способ вывода имени файла

1 Ответ

3 голосов
/ 27 февраля 2020

С awk:

$ awk 'NR==FNR{c[$1]++;next}; { if (c[$1] == 0) print $2; }' File1.txt  File2.txt
*10.88.12/4.js
*10.88.12/5.py

На основе https://unix.stackexchange.com/questions/174599/using-diff-on-a-specific-column-in-a-file

...