たとえば、次のようなファイルがあります。
A_1.txt A_t_1.txt A_ts_1.txt A_tsa_1.txt
ディレクトリに~/admin/packages/
。
A_1.txtにワイルドカードを渡すためにforループを作成しています。
for f in ~/admin/packages/*_1.txt
明らかに、これはこれらのファイルの1つにワイルドカードとして使用できます。
t
具体的に、先に、 がないかぎりすべてのファイルを glob するために「除外」コマンド (ある場合) を使いたいと思いますs
。a
_1.txt
編集:パスを変数として保存することを忘れました。
PROJECT="~/admin/packages/*_1.txt"
for f in ${PROJECT}...
ベストアンサー1
extglob
これを行うには、次のパターンを使用できますbash
。
!(*t|*s|*a)_1.txt
extglob
まず有効にします(まだ有効になっていない場合)。
shopt -s extglob
これにより、次のことができます。
for f in ~/admin/packages/!(*t|*s|*a)_1.txt; do ##Something; done
例:
$ echo *_1.txt
A_1.txt Ab_1.txt A_t_1.txt A_ts_1.txt A_tsa_1.txt
$ shopt -s extglob
$ echo !(*t|*s|*a)_1.txt
A_1.txt Ab_1.txt
短くしてください(ありがとうございます錯乱):
!(*[tsa])_1.txt