Репликация команды v4l2loopback в OSX Big Sur?

С вашей командой perlвы всегда печатаете строку, потому что у вас есть опция -p. Часть match ничего не делает.

Вы хотите -nи распечатайте соответствующую часть:

ls -1 *9000.jpg \
| perl -lne 'print $1 if /^(.+)(?=_.+_.+)/'

Поскольку в именах файлов могут быть новые строки, вы должны изменить это, чтобы читать нулевые -имена файлов с разделителями, хотя в вашем случае это может не понадобиться:

printf '%s\0' *9000.jpg \
| perl -lne 'INIT{ $/ = "\0"}; print $1 if /^(.+)(?=_.+_.+)/'

В качестве альтернативы можно прочитать имена файлов в цикле for -, после чего вы можете использовать только расширение параметров оболочки:

for f in *9000.jpg; do printf '%s\n' "${f%_*_*}"; done

Возможно, это лучше подходит для вашей задачи. (=> "Не используйте инструменты редактирования текста на основе строки --для имен файлов." @Кусалананда)

0
22.04.2021, 01:05
1 ответ

My first question is are the two commands v4l2loopback=gst-launch-1.0 equal?

нет. они не.

  • gst-launch-1.0— это команда, которая запускает конвейер GStreamer (, как указано в его аргументах ). GStreamer — это универсальная межплатформенная мультимедийная платформа -
  • v4l2loopbackэто вообще не команда.

My second question is whether there any ways to use v4l2loopback in OSX?

нет.

v4l2loopback(который является аббревиатурой от «video for linux (версии 2 )loopback» )тесно интегрируется с ядром linux . ядро является основным компонентом вашей операционной системы. ядро Linux несовместимо с ядром Darwin (, на котором работает ваша OSX)

0
10.05.2021, 07:46

Теги

Похожие вопросы