2016-12-25 61 views
0

我需要用sudo截断一大堆文件。对于只有一个工作的:如何通过sudo截断glob文件?

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

但是像这样/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'为:

您可以在sh shell中运行它,这样的水珠会sudo的壳体内部评估'sudo的庆典-O了nullglob - c在/var/lib/docker/containers/*/*-json.log中为f;做>“$ f”; done''。 –

回答

1

的水珠在当前用户的外壳中进行评估,之前的sudo提升的权限在效果(实际执行sudo之前)。当前用户可能没有权限访问受影响的路径。

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