Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
linux cat文件,不包括以特定前缀开头的文件_Linux_Cat - Fatal编程技术网

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

linux cat文件,不包括以特定前缀开头的文件,linux,cat,Linux,Cat,我正在尝试对目录中的所有png文件进行cat,并将它们通过管道传输到ffmpeg命令: cat *.png | ffmpeg 它可以工作,但我现在想从列表中排除所有以前缀“legend_2;”开头的png文件。我如何做到这一点?我知道使用ls可以键入: ls -I legend_* -I *.jpg 我找到了关于grep、ls等的信息,但是有一些关于cat命令的令人困惑的信息,没有一个像使用 !(legend_) ! -name legend_ 您可以使用查找: find . -name

我正在尝试对目录中的所有png文件进行cat,并将它们通过管道传输到ffmpeg命令:

cat *.png | ffmpeg
它可以工作,但我现在想从列表中排除所有以前缀“legend_2;”开头的png文件。我如何做到这一点?我知道使用ls可以键入:

ls -I legend_* -I *.jpg
我找到了关于grep、ls等的信息,但是有一些关于cat命令的令人困惑的信息,没有一个像使用

!(legend_)
! -name legend_

您可以使用
查找

find . -name '*.png' ! -name 'legend_*' -exec cat {} \; | ffmpeg
使用bash,使用
extglob
选项,您可以编写:

shopt -s extglob
ls !(legend_*).png
由于
extglob
选项不符合POSIX标准,这意味着它不能保证在POSIX外壳中工作,因此我建议使用
find

查找、、等的可能副本。