du calculando tamanho de diretório inteiro quando canalizamos a entrada nula, como pará-la

0
[emdfqmm@nfwne ncndnkln]$ ll -h | grep "Oct" | grep "2018" | xargs du -ch
5.0G    ./something
5.0G    .
5.0G    total

[emdfqmm@nfwne ncndnkln]$ ll -h | grep "Oct" | grep "2018" | wc -l
0

Quando ele tem entrada nula, calcula o tamanho do diretório inteiro como pará-lo

    
por user322121 21.11.2018 / 15:52

2 respostas

0

xargs tem uma opção para não ser executada se nenhuma entrada for fornecida:

-r, --no-run-if-empty
  If the standard input does not contain any nonblanks, do not run
  the command.  Normally, the command is run once even if there is
  no input.  This option is a GNU extension.

Portanto, use xargs -r du -ch .

    
por 21.11.2018 / 16:04
0

Use find com -exec :

month="Oct-2018";
find . -mindepth 1 -maxdepth 1 -newermt "01-$month -1 sec" -and -not -newermt "01-$month +1 month -1 sec" -exec du -ch {} \;

Embora, de alguma forma, eu acredite, você quer du -sh em vez de du -ch .

Veja

por 21.11.2018 / 16:07