Для захвата данных из фреймбуфера вы можете скопировать из файла устройства фреймбуфера:
cp / dev / fb0 fb
Если вы меняли файл, в который копируете каждый раз, вы сможете сохранять каждый кадр. Однако не ожидайте большого количества кадров в секунду, поскольку буфер кадра обычно довольно медленный.
Как предлагается в этом сообщении на форуме , ffmpeg может быть лучшим вариантом:
ffmpeg -f fbdev -i /dev/fb0 -r 24 -c:v libx264 -b:v 500k output.avi
Следующий цикл будет обрабатывать каждый каталог в текущем каталоге так, как вы описываете:
for dir in */; do
cat "$dir"/*.txt >"${dir%/}.txt"
done
Вещь ${dir%/}
удаляет конечный /
из $dir
, который находится там, из совпадения шаблона в заголовке цикла.
Ошибка, которую вы получаете, вероятно, связана с написанием сценария на компьютере с Windows (с помощью редактора Windows ). Текстовые файлы Windows (и DOS )имеют символ возврата каретки перед символом перевода строки в конце каждой строки, в то время как текстовые файлы Unix имеют только символ перевода строки. Вы можете преобразовать сценарий в текстовый файл Unix с помощью утилиты dos2unix
.
В этом случае сообщение об ошибке соответствует действительности. Сценарий сохранялся с окончанием строки в стиле Windows «CR/LF» вместо «LF» в стиле Unix. Обновление концов строк в файле bash устранило проблему.