Специальное решение для GNU awk:
gawk '
$1 == "man1" {
# remember the last line number
x[$0] = NR
}
END {
# traverse the array by sorted numeric values
PROCINFO["sorted_in"] = "@val_num_asc"
for (line in x)
print line
}
' file
man1 boy1
man1 boy3
man1 boy4
man1 boy2
Краткое однострочное сообщение:
gawk '/man1/{x[$0]=NR}END{PROCINFO["sorted_in"]="@val_num_asc";for(l in x)print l}' file
Ссылки:
http://www.gnu.org/software/gawk/manual/html_node/Array-Sorting-Functions .html # Функции сортировки массива
http://www.gnu.org/software/gawk/manual/html_node/Controlling-Scanning.html#Controlling-Scanning
Путь к исходному коду ядра был неверен, я исправил его до:
KSRC := /home/vagrant/friendlyarm/linux-3.0.8/
и он скомпилировал
.В драйверах Makefile я добавил эти
Это не тот путь. Смотрите здесь -- вы, наверное, можете перейти к шагу №3.
затем попытался скомпилировать, но я получил эту ошибку
из вашего вырезания и вставки, похоже, что вы запустили make
до make modules
и ничего не случилось. Это нехорошо. make
должно на самом деле собирать ядро, которое может быть или не быть необходимым для создания модуля (не уверен, что должно быть , но иногда кажется, что это так и есть). Это займет как минимум несколько минут и должно дать много результатов. Если этого не произошло, то что-то очень не так.
Я перекрестно собрал ядра с помощью gcc через crosstool-ng и должен установить TARGET
; похоже, что вы этого не делали (но крос-компилятор дистрибутива может быть другим). Однако, установка этого параметра путем подстройки к makefile кернела, вероятно, является ошибкой. Просто сделайте это в окружении:
export TARGET=arm-none-linux-gnueabi
export ARCH=arm
export CROSS_COMPILE=/foo/bar/etc
Поместите это в текстовый файл и просто исходники перед запуском make (source my_environment.sh
).