Для Вашего содержания файла
FILE "/path_to_file/filename" TXT
сделайте что-то как
grep FILE input.txt | while read line
do
fname=`echo $line | awk -F\" '{print $2}'` # this separates the line by the quotes
# result is like /path_to_file
echo $fname # just to check it
if [ -f $fname ]
then
ls -l $fname
echo "file exists"
else
echo "no file there $file"
fi
done
Я нашел следующий ответ здесь:
Короткий ответ - то, что .ko файл является Вашим объектным файлом, связанным с некоторым ядром, автоматически генерировал структуры данных, которые необходимы ядру.
.o файл является объектным файлом Ваших модулей - результат компиляции Ваших c файлов. Система сборки ядра затем автоматически создает другой файл C с некоторыми структурами данных, описывающими модуль ядра (названный your_module_kmod.c), скомпилируйте этот файл C в другой объектный файл, и связывает Ваш объектный файл и объектный файл, который это создало вместе для создания .ko файла.
Динамический компоновщик в ядре, которое отвечает за загружающиеся модули ядра, ожидает находить структуру данных, ядро вставило объект kmod в .ko файле и не сможет загрузить Ваш модуль ядра без них.
Также из того источника, цитируя tldp: до 2,4 версий ядра, это был ".o", и с тех пор 2.6, это - ".ko".
Это кажется старым практическим руководством (учебное руководство), в фактах это было записано в 2005. Когда ядро Linux было 2.4.x, модули имели.o расширение, в то время как в 2,6 они стали .ko