我虽然这很简单,但显然我做不到:
script.pl *.ext
在WinXP命令处理器中.
有内置的解决方案吗?(即不是CPAN模块?)
我正在尝试构建一个系统,该系统将按字母顺序包含目录中的任务。假设我在目录中有以下文件:
01-task.yml
02-task.yml
..
10-task.yml
Run Code Online (Sandbox Code Playgroud)
我希望 ansible 按顺序包含这些任务(01、02、03 等)。在测试 fileglob 是否正常时,我运行了以下命令:
- hosts: localhost
tasks:
- debug:
msg: "File {{ item }}"
with_fileglob: "<ansible directory>/testing/files/*"
Run Code Online (Sandbox Code Playgroud)
并以随机顺序获取输出:
File <ansible directory>/testing/files/03-task.yml
File <ansible directory>/testing/files/05-task.yml
File <ansible directory>/testing/files/08-task.yml
File <ansible directory>/testing/files/09-task.yml
File <ansible directory>/testing/files/02-task.yml
File <ansible directory>/testing/files/10-task.yml
File <ansible directory>/testing/files/07-task.yml
File <ansible directory>/testing/files/01-task.yml
File <ansible directory>/testing/files/06-task.yml
File <ansible directory>/testing/files/04-task.yml
Run Code Online (Sandbox Code Playgroud)
我正在努力想出如何对文件进行排序。我希望避免在循环中执行 set_fact 任务来创建数组、另一个要排序的任务以及另一个包含文件的任务。有没有更有效的方法我错过了?
编辑:感谢 Zeitounator 我有一个最终的工作代码:
- hosts: localhost
tasks:
- name: Test Import
include_tasks: "{{ item }}"
loop: "{{ query('fileglob', \"<ansible directory>/testing/files/*\")|sort }}" …
Run Code Online (Sandbox Code Playgroud) 我在Ansible脚本中使用以下任务将所有文件从本地数据文件夹复制到服务器:
- name: copy basic files to folder
copy:
src: "{{ item }}"
dest: ~/data/
mode: 755
owner: "www-data"
group: "www-data"
with_fileglob:
- ../files/data/*
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,除了它跳过隐藏文件(例如.htaccess
).
有谁知道我怎么做with_fileglob
也包括隐藏文件?
我想找到所有不同的.gitignore文件,我必须将它们合并为一个.
我尝试了类似的东西,find */**/.gitignore
但没有提出任何问题.
所有文件都在我当前目录的子目录中,以及当前目录中.
我在linux上使用Bash
我开始使用gulp,我有点困难了解globs是如何工作的.
为什么要**/*
复制所有目录结构(如何工作)
file-globs ×5
ansible ×2
bash ×1
filesystems ×1
find ×1
gulp ×1
hidden-files ×1
javascript ×1
jinja2 ×1
linux ×1
perl ×1
windows-xp ×1
yaml ×1