2012-05-08 2 views
-1

Я подкачка некоторых данных в файл, как этогоAWK помощи, найти файл, используя комбинацию, а затем рассчитать сумму поле внутри этого файл с этой комбинацией

acb.txt 1 aa 3 
gfh.txt 1 aa 3 
a3g.txt 2 aa 4 
tfh.txt 2 aa 4 

Проблемы в том,

  1. Чтобы получить имена файлов для определенной комбинации
  2. Открыть каждый файл (мы используем инструмент rds)
  3. Проверьте приведенную выше комбинацию в файле
  4. Сумма 32 поля внутри этого файла с вышеуказанной комбинацией.
  5. Сохраните сумму и комбинацию.

Я могу достичь этого, используя grep и используя две петли, одну в комбинации и другую по числу файлов в этой комбинации, ища лучшую логику awk. Я сомневаюсь, что Grep не будет полным доказательством

добавил больше информации:

Использование AWK, как можно хранить строки в массив как

a[1 aa 3]=acb.txt gfh.txt 
a[2 aa 4]=a3g.txt tfh.txt 

, а затем извлечь это значение из-за пределов, чтобы открыть файлы?

+1

Ваш вопрос слишком расплывчатый. Вы должны опубликовать свою рабочую последовательность команд и более конкретно относиться к данным и как выглядит вход и как должен выглядеть вывод. –

+0

Что это такое? Это значения в полях 2,3,4? –

+0

да, вы правы – Kimi

ответ

1
awk '{a[$2, $3, $4] = a[$2, $3, $4] " " $1}' inputfile 

Это создаст ваш массив. Но он ничего полезного не делает.

В противном случае ваш вопрос все еще слишком расплывчатый. Покажите свои grep и две петли и более подробно опишите, что именно вы делаете .