**/* 不包括顶层文件
**/* doesn't include files at top level
我的文件结构如下:
- a.txt
- ×/
- b.txt
- y/
- c.txt
- yz/
- d.txt
现在,我想列出所有 .txt 文件。据我所知 for file in **/*.txt
应该可以完成这项工作,对吧?至少它在我的 zsh 中有效。但是我的 GitHub 操作忽略了顶层的文件 a.txt。知道如何解决这个问题吗?还是有另一种简单的方法可以通过 GH 操作来做到这一点?
**
是一个并非所有 shell 都支持的扩展。使用 find
.
find . -type f -name '*.txt' |
while IFS= read -r file; do
# do something with file
done
如@KamilCuk 所述,并非所有 shell 都以相同的方式支持 **
扩展。在我的例子中,GitHub Actions 默认使用 bash
并且 bash
(显然)不包含 **/*
的根级别文件(与 zsh
不同,例如)
我最后得到了 for file in *.txt **/*.txt
我的文件结构如下:
- a.txt
- ×/
- b.txt
- y/
- c.txt
- yz/
- d.txt
现在,我想列出所有 .txt 文件。据我所知 for file in **/*.txt
应该可以完成这项工作,对吧?至少它在我的 zsh 中有效。但是我的 GitHub 操作忽略了顶层的文件 a.txt。知道如何解决这个问题吗?还是有另一种简单的方法可以通过 GH 操作来做到这一点?
**
是一个并非所有 shell 都支持的扩展。使用 find
.
find . -type f -name '*.txt' |
while IFS= read -r file; do
# do something with file
done
如@KamilCuk 所述,并非所有 shell 都以相同的方式支持 **
扩展。在我的例子中,GitHub Actions 默认使用 bash
并且 bash
(显然)不包含 **/*
的根级别文件(与 zsh
不同,例如)
我最后得到了 for file in *.txt **/*.txt