我不知道是什么导致了这个错误。
我有一个文件#start_youtube_stream_cron.sh:
#!/bin/bash
#BEE OUTSIDE CAMx
SERVICE="ffmpeg"
RTSP_URL="rtsp://user:psw@192.168.0.101:554"
YOUTUBE_URL="rtmp://a.rtmp.youtube.com/live2"
YOUTUBE_KEY="<Youtube secret key 1>"
#BEE INSIDE CAM
RTSP_URL2="rtsp://user:psw@192.168.0.102:554"
YOUTUBE_KEY2="<Youtube secret key 2>"
COMMAND="ffmpeg -f lavfi -i anullsrc -rtsp_transport tcp -i ${RTSP_URL} -tune zerolatency -vcodec libx264 -t 12:00:00 -pix_fmt + -c:v copy -c:a aac -strict experimental -f flv ${YOUTUBE_URL}/${YOUTUBE_KEY} -nostdin -nostats"
COMMAND2="ffmpeg -f lavfi -i anullsrc -rtsp_transport tcp -i ${RTSP_URL2} -tune zerolatency -vcodec libx264 -t 12:00:00 -pix_fmt + -c:v copy -c:a aac -strict experimental -f flv ${YOUTUBE_URL}/${YOUTUBE_KEY2} -nostdin -nostats"
if /usr/bin/pgrep $SERVICE > /dev/null
then
echo "${SERVICE} is already running."
else
echo "${SERVICE} is NOT running! Starting now..."
$COMMAND &
$COMMAND2 &
fi
,其中包含:
rmax.text
我正在尝试用这样的换行符123;456;3434;645234;234;23423;
替换分号;
"\n"
我试过了:
123
456
3434
645234
234
23423
这曾经给我语法错误 -
system('awk '{gsub(";","\n"); print}' rmax.txt');
如果我直接尝试:
syntax error at rmax line 7, near "'awk '{"
syntax error at rmax line 7, near "print}"
Execution of rmax aborted due to compilation errors.
我的错误是:
awk '{gsub(";","\n"); print}' rmax.txt
看来我的语法是正确的,但它仍然无效。
答案 0 :(得分:1)
由于您在此问题上有Perl标记,我将提供Perl解决方案
perl -pe 'tr/;/\n/' rmax.text
我会提供解释,但我看不到任何可能不清楚的内容
请不要使用system
或反引号来运行此操作。如果您希望它作为更大的Perl程序的一部分,那么您必须显示该程序