Как избежать внедрения awk

Основано на этом вопросе и ответе AU под названием:Есть ли способ, которым ffmpeg отправляет видео в /dev/video0 в Ubuntu? вы можете сделать следующее:

$ ffmpeg -re -i trial_video.mp4 -map 0:v -f v4l2 /dev/video1

4
07.06.2021, 17:06
1 ответ

Вы просите awk интерпретировать escape-последовательности при установке переменной с помощью -v, поэтому не делайте этого -вместо этого используйте ENVIRON[]или ARGV[], чтобы установить переменную awk в литеральную строку:

$ shellvar='foo\tbar'

$ awk -v awkvar="$shellvar" 'BEGIN{print awkvar}'
foo     bar

$ shellvar="$shellvar" awk 'BEGIN{awkvar=ENVIRON["shellvar"]; print awkvar}'
foo\tbar

$ awk 'BEGIN{awkvar=ARGV[1]; delete ARGV[1]; print awkvar}' "$shellvar"
foo\tbar

См. , как -сделать -я -использовать -оболочки -переменные -в -и -awk -скрипт для получения дополнительной информации.

8
28.07.2021, 11:26

Теги

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