Salīdziniet divu komandrindas direktoriju saturu

Anonim

Lai salīdzinātu un uzskaitītu divu direktoriju atšķirīgo saturu bez papildu izvades, ko iegūstat, izmantojot komandas, piemēram, diff, tā vietā varat izmantot komandu comm. Lai sāktu darbu, palaidiet termināli un ierakstiet šādu komandu, atbilstoši pielāgojot direktoriju ceļus:

comm -3 <(ls -1 mape1) <(ls -1 mape2)

Norādītā izvade būs faili, kas katrā mapē ir atšķirīgi — mapei 1 unikālie faili tiks līdzināti pa kreisi, bet 2. mapes unikālie faili tiks līdzināti pa labi.

Piemēram, lai salīdzinātu saturu mapei ar nosaukumu “Pictures” un mapei “OldPictures”, kuras abas tiek saglabātas lietotāja lejupielāžu direktorijā, sintakse būtu šāda:

comm -3 <(ls -1 ~/Lejupielādes/Attēli) <(ls -1 ~/Lejupielādes/Vecas bildes)

Izvade var izskatīties šādi:

$ comm -3 <(ls -1 ~/Lejupielādes/Attēli) <(ls -1 ~/Lejupielādes/OldPictures) Mape-1-File.PNG mape -2 faila kopija.PNG foto 1 kopija.PNG fotoattēls 3.PNG

Ņemiet vērā atkāpi, kas parāda, kuri faili ir unikāli katrai mapei. Iepriekš minētajā piemērā faili “photo 1 copy.PNG” un “photo 3.png” ir līdzināti pa labi, tāpēc tie ir unikāli direktorijai OldPictures un Folder-1-File.PNG un Folder-2-File copy.PNG ir unikālas sākotnējās mapes Attēli.

Tas lieliski darbojas operētājsistēmā Mac OS X, taču tā ir vispārēja unix komanda, tāpēc jums vajadzētu atrast to lietojamu arī Linux un citos variantos. Ja rodas saderības problēmas vai šī komanda šķiet nevajadzīgi sarežģīta, mēģiniet izmantot diff, lai veiktu to pašu funkciju.

Lielisku triku atrada @climagic vietnē Twitter, tur ir arī @osxdaily!

Salīdziniet divu komandrindas direktoriju saturu