2016-12-25 4 views
0

Мне нужно обрезать большой кучу файлов с помощью sudo. Только для одного это работает:Как обрезать файлы glob через sudo?

sudo truncate -s 0 /var/lib/docker/containers/1cdd2386de3579-json.log 

Но с Glob, как этот /var/lib/docker/containers/*/*-json.log ...

$ LANG=C sudo truncate -s 0 /var/lib/docker/containers/*/*-json.log 
truncate: cannot open '/var/lib/docker/containers/*/*-json.log' for writing:No such file or directory 
+0

Вы также могли бы решить эту проблему без' truncate' как: 'Sudo Баш -O nullglob - c 'для f в /var/lib/docker/containers/*/*-json.log; do> "$ f"; done''. –

ответ

1

The комках оцениваются в оболочке текущего пользователя, перед тем, повышенные права доступа sudo в эффект (до фактического исполнения sudo). У текущего пользователя, вероятно, нет разрешения на доступ к затронутым путям.

Вы можете запустить его в sh оболочки, таким образом, что шарики будут оценены внутри оболочки sudo «s:

sudo sh -c 'truncate -s 0 /var/lib/docker/containers/*/*-json.log' 

 Смежные вопросы

  • Нет связанных вопросов^_^