O **
em zsh
corresponde a *
, mas permite a correspondência entre /
em nomes de caminho. O padrão **/*.jpg
será, portanto, expandido para o nome do caminho de qualquer arquivo que tenha um sufixo de nome de arquivo .jpg
em qualquer lugar dentro ou abaixo do diretório atual.
O padrão **
também está disponível em bash
, se ativado com shopt -s globstar
. O ksh93
shell também, se ativado com set -o globstar
.
O --
impede que qualquer nome de caminho (correspondente ao padrão acima) que comece com um traço seja interpretado por du
como uma opção de linha de comando. O --
interrompe a análise da linha de comando de du
da procura por outras opções. Isso não depende do shell, mas é uma POSIX " diretiva de utilidade " para padrão utilitários.
O --
poderia ser removido se o padrão globbing do nome do arquivo fosse alterado para ./**/*.jpg
.
O comando fornecerá o tamanho total de todos os arquivos *.jpg
dentro ou abaixo do diretório atual, extraindo a linha com o total da saída de du
(execute o comando sem | grep total
para ver o que du
produz).