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 次 |
最近记录: |