Когда я использую tcsh
для обработки текстового файла, я сталкиваюсь с проблемой.
Я уже обработал данные и сохранил результаты в переменной temp
.
Для следующей команды она используется для сортировки обработанных данных и сохранения отсортированных данных во временном файле. Может дать правильный результат:
echo "$temp" | sort -t , -k1n -k2 >> tempsorted
Однако по какой-то причине я не могу использовать временный файл. Мне нужно перенаправить результаты в переменную. Я попробовал следующую команду:
set a=`echo "$temp" | sort -t , -k1n -k2`
Эта команда удаляет все space
и newlines
в результатах. Как это: 2739, Northville city, Wayne , Northville city | Wayne | 2739 2929, Village of Grosse Pointe Shores city, Wayne , Village of Grosse Pointe Shores city | Wayne | 2929 ...
Кто-нибудь имеет представление об этом? Мне нужно сохранить отсортированный результат в переменной, чтобы выполнить дополнительную обработку без использования временного файла. Конверт должен быть #!/bin/tcsh -f
Спасибо.
Часть содержимого в temp
переменная:
84094, Westland city, Wayne , Westland city | Wayne | 84094
28497, Northville township, Wayne , Northville township | Wayne | 28497
17593, Wayne city, Wayne , Wayne city | Wayne | 17593
27692, Garden City city, Wayne , Garden City city | Wayne | 27692
3991, Belleville city, Wayne , Belleville city | Wayne | 3991
3289, Rockwood city, Wayne , Rockwood city | Wayne | 3289
Часть ожидаемого результата:
2739, Northville city, Wayne , Northville city | Wayne | 2739
2929, Village of Grosse Pointe Shores city, Wayne , Village of Grosse Pointe Shores city | Wayne | 2929
3289, Rockwood city, Wayne , Rockwood city | Wayne | 3289
3991, Belleville city, Wayne , Belleville city | Wayne | 3991
4656, Gibraltar city, Wayne , Gibraltar city | Wayne | 4656
5421, Grosse Pointe city, Wayne , Grosse Pointe city | Wayne | 5421
Решения, которые я попробовал с ошибкой:
1
set a=$("$temp" | sort -t , -k1n -k2)
имеет сообщение об ошибке
Illegal variable name.
2
set a="`"$temp" | sort -t , -k1n -k2`"
имеет сообщение об ошибке
Unmatched `.