将文件名中包含特定字符串的目录中的所有文件复制到Bash中的不同目录

9 directory bash filenames copy file

例如,目录可以包含这些文件

12_foo9.dat
34foo32.txt
24foobar.png
997_bar.txt
Run Code Online (Sandbox Code Playgroud)

我想将文件名中带有'foo'的文件复制到一个单独的目录中,以便它包含前三个文件但不包含第四个文件.

我环顾四周,但还没有找到办法做到这一点.该目录有大量文件,但只有1%左右,我需要复制.

谢谢

Suk*_*uku 10

$ mkdir NEWDIR

$ touch foo_file file_foo file_foo_file

$ ls
NEWDIR      file_foo    file_foo_file   foo_file

$ cp -v *foo NEWDIR/
file_foo -> NEWDIR/file_foo

$ cp -v foo* NEWDIR/
foo_file -> NEWDIR/foo_file

$ cp -v *foo* NEWDIR/
file_foo -> NEWDIR/file_foo
file_foo_file -> NEWDIR/file_foo_file
foo_file -> NEWDIR/foo_file

$ ls NEWDIR/
file_foo    file_foo_file   foo_file
Run Code Online (Sandbox Code Playgroud)


dou*_*ugh 8

试试这句话: cp *foo* /newdir