进来的文件有空格、单引号、方括号、方括号等。
我删除空格并使用以下命令替换为点
for file in *.mp4; do mv "$file" `echo $file | tr ' ' '.'` ; done
Run Code Online (Sandbox Code Playgroud)
然后我使用以下命令删除特殊字符
rename -n 's/[^a-zA-Z0-9_-]//g' "$file"
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,单引号(')仍然存在于文件名中。有没有办法在一个命令中拥有干净的文件名?
在创建播放列表时,我经常遇到会破坏播放过程的文件.这将是带有空格或撇号的文件.我会用以下命令修复它
for file in *.; do mv "$file" `echo $file | tr " " '_'` ; done **(for spaces)**
Run Code Online (Sandbox Code Playgroud)
现在我经常遇到带有逗号,撇号,括号和其他字符的文件.如何修改命令以删除此类字符?
也试过,rename 's/[^a-zA-Z0-9_-]//' *.mp4但它似乎没有删除空格或逗号
我使用以下命令重命名所有没有空格的文件添加前缀"Hello"
for FILENAME in *; do mv $FILENAME Hello_$FILENAME; done
Run Code Online (Sandbox Code Playgroud)
我使用以下命令获取unix datestamp
date +%s
Run Code Online (Sandbox Code Playgroud)
如何更换Hello与date +%s输出?
ffmpeg有这方面的concat选项,但所有流开始工作非常糟糕,并在一天的流媒体后打破声音.
我试着看循环,但我无法弄清楚如何用ffmpeg命令执行循环,所以它转码1目录中的所有文件
/ lely/ffmpeg -y -re -i /home/ftp/kid1.mp4 -vcodec copy -acodec copy -dts_delta_threshold 1000 -ar 44100 -ab 32k -f flv rtmp://10.0.0.17:1935/live/kid
在文件夹/ home/ftp /中有文件kid1,kid2,kid3 - 所有*.mp4文件
所以基本上我想要一个循环,以便每次前一次结束时将输入更改为下一个文件.
我有一个master.sh脚本调用其他2个脚本
#!/bin/bash
/home/script1
/home/script2
Run Code Online (Sandbox Code Playgroud)
script1具有以下条件:
if [ $len -lt 10 ]; then
echo "mask is not 10"
exit
fi
Run Code Online (Sandbox Code Playgroud)
如果脚本一出现退出条件,如何告诉master.sh不要继续执行脚本2?换句话说,如果$ len不是10,则停止执行后续脚本