AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1538719
Accepted
nobody
nobody
Asked: 2025-01-20 23:43:11 +0800 CST2025-01-20 23:43:11 +0800 CST 2025-01-20 23:43:11 +0800 CST

egrep -v 给出警告

  • 772

在我的 lubuntu 24.04 上,我有一个小的 / 文件系统,因此我会不时检查是否有足够的可用空间。

为此我使用

sudo du -xh -d 3 / | sort -h -r | egrep -v '*M|*K'
grep: warning: * at start of expression
grep: warning: * at start of expression
27G     /
12G     /var
10G     /var/cache
9,8G    /var/cache/apt
9,6G    /usr
6,0G    /usr/lib
5,6G    /boot
2,8G    /boot/ubuntu-20.10
2,5G    /boot/bullseye
2,2G    /usr/share
1,9G    /usr/lib/x86_64-linux-gnu
1,7G    /var/lib

这不是我的空间消失了的问题,我无法弄清楚警告是什么意思以及如何避免它。

env | grep -i shell
SHELL=/bin/bash
command-line
  • 2 2 个回答
  • 245 Views

2 个回答

  • Voted
  1. Best Answer
    choroba
    2025-01-20T23:52:25+08:002025-01-20T23:52:25+08:00

    egrep期望一个正则表达式,但您给了它*M|*K。两个备选表达式的开头都有一个星号。星号在正则表达式中具有特殊含义:它表示“前一个内容重复零次或多次”。但在这里,没有前一个内容可以重复。因此出现警告。

    • 6
  2. Henning Kockerbeck
    2025-01-21T00:09:18+08:002025-01-21T00:09:18+08:00

    您是否尝试在通配符语法中使用搜索模式,使用*通配符?grep不起作用。使用grep,您可以使用正则表达式。reingrep实际上代表“正则表达式”。

    在正则表达式中,*是量词。量词指定应识别前一个元素的频率。例如,要识别“至少一个‘a’,后跟一个‘b’”,您可以使用模式a+b。

    在您的模式中,量词*位于最开始的位置,因此没有前面的元素来指定数字。您基本上是在说,“查找零个或多个实例,然后恰好一个‘M’”。这实际上不起作用;)根据 POSIX 标准,*正则表达式最开头的 A 实际上应该产生未定义的结果。

    幸运的是,您不必在搜索模式中指定整个匹配项。因此,您只需搜索“恰好一个 M 或恰好一个 K,后跟一个空格字符”,如下所示

    egrep "[MK]\s"
    

    如果此确切模式恰好出现在您的文件路径中,则也会找到这些情况。您可以使正则表达式更复杂以排除这些误报,但这超出了本答案的范围。

    • 4

相关问题

  • 如何从命令行仅安装安全更新?关于如何管理更新的一些提示

  • 如何从命令行刻录双层 dvd iso

  • 如何从命令行判断机器是否需要重新启动?

  • 文件权限如何工作?文件权限用户和组

  • 如何在 Vim 中启用全彩支持?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve