linux cat文件,不包括以特定前缀开头的文件

时间:2018-08-22 11:21:36

标签: linux cat

我正在尝试将目录中的所有png文件分类,并将它们通过管道传递给ffmpeg命令:

cat *.png | ffmpeg

它可以工作,但是我现在想从列表中排除所有以前缀“ legend_”开头的png文件。我该如何实现?我知道使用ls可以输入:

ls -I legend_* -I *.jpg

我找到了有关grep,ls等的信息,但是关于cat命令的信息令人困惑,而且似乎都无法使用

!(legend_)
! -name legend_

1 个答案:

答案 0 :(得分:0)

您可以使用find

find . -name '*.png' ! -name 'legend_*' -exec cat {} \; | ffmpeg

使用bash,使用extglob选项,您可以编写:

shopt -s extglob
ls !(legend_*).png

由于extglob选项不符合POSIX,这意味着不能保证它可以在POSIX Shell中工作。我建议使用find