如何批量将apps子目录下的.env.test复制为对应目录的.env文件?
实现方案
用find + -exec的单行命令
可以通过find精准定位目标文件,再结合-exec或-execdir调用cp完成复制,两种写法如下:
# 用-exec的写法 find apps -maxdepth 2 -name ".env.test" -type f -exec cp {} $(dirname {})/.env \;
# 用-execdir更简洁,自动切换到文件所在目录执行 find apps -maxdepth 2 -name ".env.test" -type f -execdir cp .env.test .env \;
用xargs配合cp的写法
如果偏好xargs,也可以这么写:
find apps -maxdepth 2 -name ".env.test" -type f | xargs -I {} cp {} $(dirname {})/.env
关键参数说明
-maxdepth 2:限制仅查找apps下一级子目录中的文件,避免递归到更深层级-type f:只处理普通文件,排除目录等其他类型的匹配项
内容的提问来源于stack exchange,提问作者kerolloz
相关产品推荐
相关产品推荐

