Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Верзија 1:
- Датотеките се споредуваат така што се гледаат и позицијата на редот (линијата) и содржината на редот (линијата) во датотеките,
- односно дали првиот ред од првата датотека е ист со првиот ред од втората датотека итн.
- Пример кај датотеките
- прва датотека: втора датотека:
- zdravo zdravo
- finki ispit
- finki
- разликата е 2, затоа што finki е во втор ред на првата датотека, а на втор ред во втората датотека пишува ispit и затоа што втората датотека има еден ред повеќе од првата, тој сигурно го сметаме дека е различен,
- бидејќи во првата датотека не ни постои таков ред (линија) затоа што е пократка, односно помалку редови (линии) има.
- #!/bin/bash
- if [ "$#" != "2" ]
- then
- echo "USAGE : $0 file1 file2"
- exit 1
- fi
- file1=$1
- file2=$2
- proverka=0
- if [ ! -f $file1 ]
- then
- echo "Datoteka so ime $file1 ne postoi "
- proverka=$(( $proverka + 1))
- fi
- if [ ! -f $file2 ]
- then
- echo "Datoteka so ime $file2 ne postoi"
- proverka=$(( $proverka + 1))
- fi
- if [ "$proverka" "!=" "0" ]
- then
- exit 0
- fi
- dat1=`cat $file1`
- dat2=`cat $file2`
- if [ "$dat1" != "$dat2" ]
- then
- liniiFile1=`wc -l < $file1`
- liniiFile2=`wc -l < $file2`
- glavenBroj=
- razlika=
- if [ $liniiFile1 -lt $liniiFile2 ]
- then
- glavenBroj=$liniiFile1
- razlika=$(( $liniiFile2 - $liniiFile1 ))
- elif [ $liniiFile2 -lt $liniiFile1 ]
- then
- glavenBroj=$liniiFile2
- razlika=$(( $liniiFile1 - $liniiFile2 ))
- else
- #bidejki se isti, seedno e koj e glavenBroj
- glavenBroj=$liniiFile2
- razlika=0
- fi
- brojac=1
- rezultat=0
- while [ $brojac -le $glavenBroj ]
- do
- linija1=`head -$brojac $file1 | tail -1`
- linija2=`head -$brojac $file2 | tail -1`
- if [ "$linija1" != "$linija2" ]
- then
- rezultat=$(( $rezultat + 1 ))
- fi
- brojac=$(( $brojac + 1 ))
- done
- rezultat=$(( $rezultat + $razlika ))
- if [ $rezultat -gt 1 ]
- then
- echo "Datotekite $file1 i $file2 imaat $rezultat razlicni redovi"
- elif [ $rezultat -eq 1 ]
- then
- echo "Datotekite $file1 i $file2 imaat $rezultat razlicen red"
- fi
- else
- echo "Datotekite $file1 i $file2 se isti"
- rm $2
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement