linux cat文件,不包括以特定前缀开头的文件
我正在尝试对目录中的所有png文件进行cat,并将它们通过管道传输到ffmpeg命令: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
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
查找、、等的可能副本。