Я пытаюсь запустить следующий цикл, два оператора работают, но строка @ c awk вызывает некоторые проблемы.Подсчет данных, который действителен для двух условий в столбцах 1 и 2
printf "" >! loop.txt
@ x = -125
while ($x <= -114)
@ y = 32
while ($y <= 42)
@ c =`awk '{ for ($1 = $x*; $2 = $y*){count[$1]++}}' text.txt`
printf "$x $y $c\n" >> loop.txt
@ y++
end
@ x++
end
С AWK линии, я пытаюсь сделать ссылку на файл с большим количеством различающихся значений в колонках 1 и 2 файла text.txt. Я хочу иметь возможность сначала ссылаться на все значения в столбце 1, которые начинаются с $ x (так как все они имеют несколько десятичных знаков), а затем ссылается из этого под-списка все значения в столбце 2, которые начинаются с $ y , После того, как этот второй суб-список был сформирован, я хотел бы считать все записи действительными для этих условий. Однако я продолжаю получать синтаксические ошибки в строке, и я не уверен, что использую правильную функцию!
EDIT:
исполняемый файл является .csh типа (C оболочки, я думаю)
Формат входного образца ...
-125.025 32.058 2.25
-125.758 32.489 2.67
-125.349 32.921 3.49
-125.786 32.753 4.69
-125.086 33.008 2.78
И ожидаемый выход ...
-125 32 4
-125 33 1
@EdMorton Я работаю в среде UNIX и использую исполняемые файлы .csh - к сожалению, я не могу предоставить гораздо больше информации, нам не говорили о том, что мы используем, просто основы ее использования ... – Conquistador
@EdMorton Из одного из наших ресурсов говорится: «В NOCS вы будете использовать csh и tcsh, так называемые, потому что они имеют определенное количество синтаксиса типа C». Это только действительно строка awk, которую мне нужно попробовать, чтобы работать. – Conquistador
Этот язык не является ни C shell, ни tcsh AFAIK. Вы не должны использовать [t] csh для сценариев в любом случае, поскольку это не то, для чего это (google «Csh why not»), и всякий раз, когда вы пишете цикл в оболочке, просто для управления текстом вы делаете неправильную вещь (google тоже). Оболочка UNIX - это среда, из которой можно вызвать инструменты с языком для последовательности этих вызовов, то есть всех. Инструмент UNIX для управления текстом - awk. Вся ваша проблема должна быть решена с помощью одного тривиального скрипта awk. –