2014-12-15 4 views
0

Так у меня есть файл с столбец, который имеет информацию о заработной плате (например, 2674 долларов.) -Возьмите значение столбца, если столбец запроса совпадает с условием - Линукс

indi salary 
    sam 2674 
    john 6375 
    max 9547 

и другой файл со шкалой зарплаты (cOLUMN1 & colum2) на его соответствующем ранге (колонка3)

salary_min salary_max Rank 
2000   4000 Deputy 
4000   6000 secretary 
6000   8000 Assistant 
8000   10000 Manager 

Теперь я хотел бы назначить эти лицо из файла 1 на основе заработной платы их соответствующего ранг

поэтому окончательный результат будет

indi Rank 
sam Deputy 
john Assistant 
max Manager 

Как я могу добиться этого в Linux на тот же тип набора данных, но с большими данными. Спасибо за предложения M

+0

Итак, вы хотите, чтобы это в Linux? в R? или в R на linux? и если это последнее, какая разница, чем запуск его на другой ОС? – LyzandeR

+0

будет здорово, если он находится в R - (может запускать его на персональном компьютере) и увидеть его - и затем я могу использовать Rcode для отправки в качестве сценария задания в Linux - поскольку данные огромны – MrMsarguru

ответ

1

Это работало для меня

awk '{ a[$1] = a[$1] "$2 >= " $2 " && $2 <= " $3 " ? \"" $4 "\" : "; } END { for (i in a) print "$1 == \"" i "\" { 

print $0 \"\t\" (" a[i] "\"\"); }"; }' file2.txt > tmp.awk awk -f tmp.awk file1.txt > newfile.txt