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

标签 file bash copy filenames directory

<分区>

例如,一个目录可以包含文件

12_foo9.dat
34foo32.txt
24foobar.png
997_bar.txt

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

我环顾四周,但还没有想出一个办法来做到这一点。该目录有很多文件,但只有 1% 左右需要复制。

谢谢

最佳答案

$ 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

关于file - 将文件名中具有特定字符串的目录中的所有文件复制到 Bash 中的不同目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14371039/

相关文章:

java - 向文件添加动态名称

file - 如何在 Clojure 中从文件中读取多个变量?

python - 如何在不输出到Bash中的stderr的情况下添加命令行参数数组

windows - 如何有效地替换大文件中最后一次出现的模式

python - 在 Pandas 中进行复制时意外更改 df

php - 移动文件并重命名

MySQL数据库复制

android - 将文件扩展名与 Xamarin Android 应用程序关联

linux - 脚本在 CentOS 上运行良好,但在 RHEL5 上运行不佳

python - 测试文件中的每一行