Bandingkan dua folder yang memiliki banyak file di dalamnya

103

Memiliki dua folder dengan kira-kira. 150 file properti java.

Dalam skrip shell, bagaimana membandingkan kedua folder untuk melihat apakah ada file properti baru di salah satu folder tersebut dan apa perbedaan antara file properti tersebut.

Outputnya harus dalam format laporan.

vetri02
sumber

Jawaban:

202

Untuk mendapatkan ringkasan file baru / yang hilang, dan file mana yang berbeda:

diff -arq folder1 folder2

amemperlakukan semua file sebagai teks, rsubdirektori yang dicari secara rekursif, qmelaporkan 'secara singkat', hanya jika file berbeda

reko_t
sumber
@reko_t apakah ada cara untuk menjalankan ini melaluiJava
Kasun Siyambalapitiya
27

diff -r akan melakukan ini, memberi tahu Anda berdua jika ada file yang telah ditambahkan atau dihapus, dan apa yang diubah dalam file yang telah dimodifikasi.

John Kugelman
sumber
5

Saya dulu

diff -rqyl folder1 folder2 --exclude=node_modules

di aplikasi nodejs saya.

Melvin
sumber
0

Bisakah Anda menggunakan dircmp?

toolkit
sumber
-1

Perintah diff di Unix digunakan untuk mencari perbedaan antar file (semua tipe). Karena direktori juga merupakan jenis file, perbedaan antara dua direktori dapat dengan mudah diketahui dengan menggunakan perintah diff. Untuk opsi lainnya, gunakan man diff pada kotak unix Anda.

 -b              Ignores trailing blanks  (spaces  and  tabs)
                 and   treats  other  strings  of  blanks  as
                 equivalent.

 -i              Ignores the case of  letters.  For  example,
                 `A' will compare equal to `a'.
 -t              Expands <TAB> characters  in  output  lines.
                 Normal or -c output adds character(s) to the
                 front of each line that may adversely affect
                 the indentation of the original source lines
                 and  make  the  output  lines  difficult  to
                 interpret.  This  option  will  preserve the
                 original source's indentation.

 -w              Ignores all blanks (<SPACE> and <TAB>  char-
                 acters)  and  treats  all  other  strings of
                 blanks   as   equivalent.    For    example,
                 `if ( a == b )'   will   compare   equal  to
                 `if(a==b)'.

dan masih banyak lagi.

Sachin Chourasiya
sumber