Мне пришлось импортировать мой пакет R
в студию Android. Для ex: import com.example.<package name>.R
Не могли бы вы пройти через объяснение кода, используемого вами. Это может помочь вам понять концепцию массива.
awk ' ##Starting awk program from here.
NR==FNR{ ##Checking condition FNR==NR which will be TRUE once first Input_file named file1 is being read.
a[$1]=$2 ##Creating an array named a whose index is $1 of current line and value is $2(2nd field) of current line.
next ##next will skip all further statements from here.
} ##Closing BLOCK for FNR==NR condition here.
$2 in a{ ##Checking condition(which will be executed only when 2nd Input_file named file2 is being read.
print a[$1] ##Now printing value of array a whose index is $1 of current line.
} ##Closing BLOCK for $2 in a condition here.
' file1 file2 >> output ##Mentioning Input_file names and placing output into output file here.
Дополнительное объяснение концепции Array:
a[$1]=$2
?: Это означает, что мы создаем массив с именем a, индекс которого (по которому распознается любой элемент) и его значением является $ 2 (2-е поле текущей строки). a[$1]=$2
: Давайте возьмем пример 0_1 apple
из 1-го Input_file, где массив будет храниться как a[0_1]=apple
, как объяснено выше, его индекс равен 0_1 и значение - яблоко. $2 in a
?: Эти операторы на самом деле являются условием, которое проверяет, поступает ли $ 2 текущей строки в массив a (конечно, он проверяет все индексы массив a и сравните эту строку с ними, если они совпадают или нет), если найдено какое-либо совпадение, выведите значение массива a, значение которого равно a[$1]