如何在bash中同时循环多个通配符?
发布时间:2020-12-16 01:44:47 所属栏目:安全 来源:网络整理
导读:在bash中,我编写了一个函数,它使用通配符循环遍历具有多个扩展名的目录中的文件,并仅复制这些特定文件(如果存在).代码片段如下所示: set -epushd ../../../../$3/code/project/common/ /dev/nullmkdir -p ../$2shopt -s nullglobfor file in *.gyp; do cp $
在bash中,我编写了一个函数,它使用通配符循环遍历具有多个扩展名的目录中的文件,并仅复制这些特定文件(如果存在).代码片段如下所示:
set -e pushd ../../../../$3/code/project/common/ > /dev/null mkdir -p ../$2 shopt -s nullglob for file in *.gyp; do cp $file ../$2/; done for file in *.gypi; do cp $file ../$2/; done for file in *.sh; do cp $file ../$2/; done for file in *.patch; do cp $file ../$2/; done popd > /dev/null 我宁愿在x语句中为文件写一个,这样我就不必为每个要复制的扩展复制和粘贴这一行. 如何将四个for语句重写为一个语句?如果可能的话,我想在那里保留* .ext通配符格式. 解决方法
你应该能做到的
for file in *.gyp *.gypi *.sh *.patch; do cp $file ../$2/; done (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |