spi*_*ree 2 delete files 18.04
我在一个文件夹中有日志文件。一定大小后的这些文件正在创建一个新文件old_name.log1并写入其中。
现在文件很多,无法一一清除。我想删除old_name.log1,old_name.log2等疏通old_name.log。
file_name 可以是任何东西。但文件结束.log与它的扩展文件结束.log1,.log2等等。怎么办呢?
请注意,OP 显然想要截断文件。在这种情况下,所需的命令是
find /path/to/dir -regextype sed -regex ".*\.log[1-9]*" -exec truncate -s 0 {} \;
Run Code Online (Sandbox Code Playgroud)
或者,在 bash
shopt -s globstar
truncate -s 0 **/*.log[1-9]
Run Code Online (Sandbox Code Playgroud)
如果要清除.log名称中包含的任何文件
find /path/to/dir -name "*.log*"
Run Code Online (Sandbox Code Playgroud)
如果您.log[digit]专门针对目标,请使用
find /path/to/dir -regextype sed -regex ".*\.log[1-9]*"
Run Code Online (Sandbox Code Playgroud)
一旦您验证这两个命令中的任何一个找到您想要的文件,附加-delete到命令以进行实际删除
删除 .log1、.log2 等文件:
rm *.log[1-9]*
Run Code Online (Sandbox Code Playgroud)
rm - 删除文件*.log[1-9]*- 当前目录中包含.log后跟数字 1-9 然后是其他任何内容的所有文件要运行它之前测试命令,替换rm用echo。它将打印匹配的文件。
要截断 .log 文件:
echo -n | tee *.log
Run Code Online (Sandbox Code Playgroud)
echo -n - 不打印tee *.log - 从标准输入写入当前目录中的所有 .log 文件| 归档时间: |
|
| 查看次数: |
3241 次 |
| 最近记录: |