如何从命令输出中清除clear-screen(^L)控制字符?
解决ffprobe输出中Ctrl+L清屏字符的问题
实时输出时移除控制字符
直接在ffprobe输出管道中过滤掉ASCII 0x0c(即Ctrl+L)字符:
使用
tr命令删除:ffprobe [你的媒体文件参数] | tr -d '\014' > 输出文件.txt注:
\014是Ctrl+L对应的八进制表示,tr对八进制转义支持较好。使用
sed命令替换:ffprobe [你的媒体文件参数] | sed 's/\x0c//g' > 输出文件.txt注:
\x0c是Ctrl+L的十六进制表示,多数版本的sed都支持。
已保存文件后移除控制字符
如果已经把带控制字符的内容保存到文件,用以下命令处理:
tr命令批量删除:tr -d '\014' < 原文件.txt > 处理后文件.txtsed直接修改原文件(谨慎使用,会覆盖原内容):sed -i 's/\x0c//g' 原文件.txt若不想覆盖原文件,可输出到新文件:
sed 's/\x0c//g' 原文件.txt > 处理后文件.txtawk命令替换:awk '{gsub(/\x0c/,""); print}' 原文件.txt > 处理后文件.txt
内容的提问来源于stack exchange,提问作者aku
相关产品推荐
相关产品推荐

