![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| å sammenligne totale katalogstrukturen og få størrelser av alle f på to forskjellige servere | mannam Srinivas | Shell programmering og Skripting | 3 | 04-07-2008 05:21 |
| Trenger Script for å kontrollere filen eksisterer og sammenligne | rbknisely | UNIX for Dummies Spørsmål og svar | 1 | 01-16-2008 01:08 |
| Hvordan sammenligne datoer i shell script | vaji | Shell programmering og Skripting | 9 | 02-28-2007 12:34 |
| shell script skrånende gjenkjenne dersom annet sammenligne | jaseloh | Shell programmering og Skripting | 6 | 12-06-2005 11:34 |
| script til å sammenligne filer | pulse2india | Shell programmering og Skripting | 0 | 10-19-2005 05:32 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Directory sammenligne script
Hallo,
Jeg leter etter et skript eller pekeren til en tilnærming til å skape et skript, vil at sammenligne to versjoner av et codebase og produksjon tredjedel katalogstruktur inneholder bare de filene som skiller mellom de to. Jeg bruker diff ganske ofte, men det vil bare skape oppdateringsfilene (AFAIK). Har noen noen forslag? Takk, Jim |
|
||||
|
Du kan bruke md5 eller cksum å få en checksum for hver fil. Gitt at du har identiske filnavn, har hver katalog samme antall filer i både kataloger og kataloger er: / path/to/source/dir1 og / path/to/source/dir2 prøve noe som dette (testet) Code:
#!/bin/ksh
cd /path/to/source
mkdir ./both/dir1
mkdir ./both/dir2
cd .dir1
find . -type f | \
while read file1
do
cksum $file1 | read ck1 dummy dummy1
file2=../dir2/"$file"
cksum $file2 | read ck2 dummy dummy1
if [[ "$ck1" != "$ck2" ]] ; then
cp $file1 ../both/dir1/$file1
$( cd /path/to/source/dir2 ; cp $file1 ../both/dir2/$file1)
fi
done
|
|
||||
|
Du må håndtere oddballs din egen måte. Hvis dir1 hadde file13.c og dir2 hadde ikke ha file13.c, vil jeg si det er en discrepency, så file13.c blir flyttet inn i discrepency haugen.
Hvis det er forskjellige trær involvert må du finne en måte å ha begge settene med trær under / both/dir1 og / both/dir2 |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|