Вот мой сценарий. У меня есть два файла, которые имеют записи с 3-25 символами каждой записи, являются идентификатором. Исходя из этого, мне нужно сравнить оба из них и обновить старый файл с новыми файловыми данными, если их идентификаторы совпадают. Идентификаторы начинаются с 01. . Посмотрите на сценарий ниже. . Это дает ошибку как «аргумент ожидаемой в строке 12, я не в состоянии понятьКак сравнить два файла в сценарии оболочки?
#!/bin/ksh
while read line
do
c=`echo $line|grep '^01' `
if [ $c -ne NULL ];
then
var=`echo $line|cut -c 3-25`
fi
while read i
do
d=`echo $i|grep '^01' `
if [ $d -ne NULL ];
then
var1=`echo $i|cut -c 3-25`
if [ $var -eq $var1 ];
then
$line=$i
fi
fi
done < test_monday
done < test_sunday
Пожалуйста, помогите мне спасибо заранее
@ ALN, не могли бы вы также разместить некоторые данные образца, чтобы было легче понять требование. Спасибо – Vijay
Если вы разместите данные некоторых образцов, вы можете получить не только решение для сценариев оболочки, но и еще несколько простых решений, сценарий оболочки либо AWK, SED, Perl и т.д. – Vijay
первый файл, как этот 011111111111111111111+ 012554565645645455555+ .... ... ... второй файл 011111111111111111111111+ <измененные данные> 015456565653565644444444+ .... ... так ihae для сравнения оба файла из 1-25 символов (до + sybol) в качестве ключа и, если второй файл соответствует запись .. я должен заменить его в первом файле ... или просто добавить его в первый файл ......... –
2009-10-13 10:05:51