2013-12-05 2 views
0

Я использовал grep для получения результата из двух файлов и сохранения результата в двух переменных соответственно. , в то время как я повторяю вывод двух переменных в то время, если я изменяю положение переменной, тогда результат меняется. Сценарий поясняется ниже на примереПеременная позиция в эхо меняет результат

i=123 
res1=`grep S$i $NamesFile` 
res2=`grep S$i $FeeInformation|awk '{$1="" ; print $0}'` 
echo "$res1 $res2" ## this prints the value from both variable separated by space 
echo "$res2 $res1" ## in this the variable two override the output of variable one 

проблема происходит только на моем терминале я тестировал его в другой машине он работает отлично, даже в моем терминале он работал до вчерашнего дня, не знает, что изменение произошло, повлиявшим это

NameFile содержит информацию, как student_id Name_of_student Mobile_No Место Email_id

FeeInformation файл содержит значения student_id класса Плата Admission_type (пожертвование/Free)

Пожалуйста, укажите, что может быть причиной этого. Заранее спасибо

+0

вы можете попробовать 'nawk' в случае' awk' в некоторых случаях он обнаружил, используемых слишком – Ashish

+0

nawk не доступен в моем терминале – Learner

+1

Проверьте вашу входные файлы для окончаний строк DOS. Похоже, что возврат каретки, встроенный в '$ res2', приводит к тому, что курсор возвращается к началу строки во втором' echo', после чего '$ res1' перезаписывает остальную часть строки. – chepner

ответ

0

перевод строки символ \ г был причиной проблемы

Смежные вопросы