|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Need Script Corrections...(Shell)
Hi
I am using the below script to compare two files.. i am getting error as mentioned below: #!/bin/sh # Script to find the difference between 2 files # Remember the old file file1 should always be the first argument. Else, the logic would reverse. # diff.sh <old file> <new file> if [[ $# -ne 2 ]] ; then echo "Need just 2 files to compare" exit 1 fi; # Take the diff by ignoring the blank and whitespaces. diff -b -w ${1} ${2} > ${1}.diff if [[ $? -eq 0 ]] ; then echo "No files were added/removed" else echo "Files were added/removed" fi; # process the diff file. # A line might look like # < text-which-went-out # > text-which-came-in while read line do if [[ ${line:0:2} == "< " ]] ; then echo ${line:2} is removed. fi; if [[ ${line:0:2} == "> " ]] ; then echo ${line:2} is added. fi; done < ${1}.diff when i run:diff.sh <oldfilename> <newfilename> /home/cvs ->diff.sh 2047files.txt 2048files.txt Files were added/removed diff.sh[23]: ${line:0:2}: The specified substitution is not valid for this command. can some one correct this... Note; But my puruse is done, i am able to create a another file where i could see the diff, but i get the error... how do i will over come this??? Any sugesstions... i have changed the code like below still iam getting the above error.. while read line do typeset -L2 string string=$line if [[ "$string" == " < " ]] ; then echo ${line#$string} is removed. fi;; typeset -L2 string string=$line if [[ "$string" == " > " ]] ; then echo ${line#$string} is added. fi;; Any Sugesstions... |
![]() |
| Viewing: Dev Shed Forums > Operating Systems > UNIX Help > Need Script Corrections...(Shell) |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|