我正在使用一个桌面 Windows 程序,将多个 Linux ASCII 文本作业文件复制到 AWS CloudFormation(EC2,Linux),并将数据复制到子文件夹。
所有 ASCII 文本“作业文件”都包含两行,例如:
cd folder1
~/myexecutable --config conf.txt --otherdata ~/MainDataFolder/data.abct --out data_out.abc
所有作业文件的文件名中都有相同的通配符“myjob”,例如:
myjob1
myjob2
myjob3
有没有单身的Linux 命令将执行文件名中带有相同通配符的所有作业文件?
可能是这样的:
exec myjob*
答案1
您可以xargs
像这样使用命令:
echo ./myjob* | xargs -n 1 sh
这里echo
将列出所有与通配符匹配的文件名myjob*
到标准输出。该命令xargs
将获取每个单词从标准输入中对每一个运行(该参数-n 1
表示“最多使用每个命令行 1 个参数“)像这样的命令sh
:
sh ./myjob1
sh ./myjob2
sh ./myjob3
--
另一个但本质上类似的命令是:
xargs -n 1 sh <<<$(echo ./myjob*)