如果我想将所有*.so文件复制src到dst我会这样做:
cp src/*.so dst
Run Code Online (Sandbox Code Playgroud)
但是,我想将*.sosrc 中的所有文件及其子目录复制到dst. 有什么线索吗?
Mik*_*sch 48
尝试:
find src/ -type f | grep -i so$ | xargs -i cp {} dst
Run Code Online (Sandbox Code Playgroud)
jáq*_*uer 19
如果您使用 Bash,您可以打开globstar shell 选项以递归方式匹配文件和目录:
shopt -s globstar
cp src/**/*.so dst
Run Code Online (Sandbox Code Playgroud)
如果您需要查找名称以 开头的文件.,和/或名称以 开头的目录中和目录下的文件,请同时.设置该dotglob选项(例如,使用shopt -s dotglob)。您可以在一个命令中设置它们:
shopt -s globstar dotglob
Run Code Online (Sandbox Code Playgroud)
小智 11
我尝试了 Mike 建议的命令:
find src/ -type f | grep -i so$ | xargs -i cp {} dst
Run Code Online (Sandbox Code Playgroud)
但它最终将所有文件转储到目录中dst,而它们的相对路径丢失了。
要保留相对路径,需要将命令修改为:
find src/ -type f | grep -i so$ | xargs -i cp {} dst/{}
Run Code Online (Sandbox Code Playgroud)
小智 6
另一种方法是这样的:
find src/ -type f -name "*.so" -exec cp {} dst/ \;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86569 次 |
| 最近记录: |