用了这么久linux,感觉有点儿喜欢它了.尽管很多时候,工具很细碎.思路很奇怪.大部分都是有其他的可能.
就像找*.h和*.hpp的文件的写法.
find . -name "*.h|*.hpp" -type f 或者 find . -name "*.[h|hpp]" -type f
都无法得到你想要的.这就是linux.
find . \(-name "*.h" -o -name "*.hpp" \) -type f
这样你才能得到你想要的.想想也不是没有道理.查找*.hpp文件的,不可能希望任意包含*.h或者*.hp的文件,太复杂了.而*.h的查找更不希望有*.hpp的了.至于*.h|*.hpp为什么没有匹配出来.你看看正则表达式,也许会了解一点儿,不过大部分正则解析器也很复杂.要处理的问题也很多.还不如简单的使用外面命令处理.这也就是find这种用法的"精妙"之处?
再让我们看看解析一个
我们可以把生成的PSI相关文件组合到一起
find ./PMT/* -name "*" -type f | xargs cat pat.dat cat.dat sdt.dat > psi.dat
这些都到一个文件,就可以使用下面是解析psi信息的命令.
dvbsnoop -s ts -tssubdecode -if psi.dat -nph -pd 3
当然你也可以拷贝到windows上,使用tsexpert.