Regex bash,can';t使用\<;从df grep根分区\&燃气轮机;

Regex bash,can';t使用\<;从df grep根分区\&燃气轮机;,regex,bash,shell,grep,Regex,Bash,Shell,Grep,OS:FreeBSD8.2,bash 嘿,伙计们 我被难住了,为什么我不能用df的/partition grep行: /dev/amrd0s1a 1012974 452694 479244 49% / 我只想grep该行(其他行也有斜线),所以我想其中一行可以: df -m | grep -E '\<'/'\>' df -m | grep -E '\</\>' df -m | grep -E '\<"/"\>' df

OS:FreeBSD8.2,bash

嘿,伙计们

我被难住了,为什么我不能用df的/partition grep行:

/dev/amrd0s1a    1012974    452694     479244    49%    /
我只想grep该行(其他行也有斜线),所以我想其中一行可以:

df -m | grep -E '\<'/'\>' 

df -m | grep -E '\</\>' 

df -m | grep -E '\<"/"\>'
df-m | grep-E'\'
df-m|grep-E'\'
df-m|grep-E'\'
但这两项工作都没有,我想这样做,这样我就可以练习使用“\<\>”。我也试过了-E

这能做到吗?我做错了什么


提前谢谢

您可以使用以下命令获得此行:

df -m | grep " \+/$"

您可以使用以下命令获取此行:

df -m | grep " \+/$"
尝试:

$表示行尾

尝试:


$表示行尾

问题在于,
\
用于单词边界,但
/
不是单词字符。而是匹配前面的空白和下面的EOL:
[[:space:]/$

问题是,
\
用于单词边界,但
/
不是单词字符。而是匹配前面的空白和下面的EOL:
[[:space:]/$

为什么不直接指定/作为参数

  df -m / 
要去掉标题:

  df -m / | tail -n 1

为什么不直接指定/作为参数

  df -m / 
要去掉标题:

  df -m / | tail -n 1

\+
在BSD grep中工作吗?我认为它可能是BRE的GNU扩展。(这并不重要,它可以在正则表达式中省略而不会出现问题。)你并不在乎有多少空格,只要斜杠旁边有一个空格。因此,
'/$”
确实是一个更好的正则表达式,并且与传统的grep兼容。
\+
在BSD grep中工作吗?我认为它可能是BRE的GNU扩展。(这并不重要,它可以在正则表达式中省略而不会出现问题。)你并不在乎有多少空格,只要斜杠旁边有一个空格。因此,
“/$”
确实是一个更好的正则表达式,并且与传统的grep兼容。这是一个干净的正则表达式,我将使用这个正则表达式。谢谢@jonschipp这假设没有其他以
/
结尾的行。但是,
df
命令就是这种情况,所以它很好。这是一个干净的,我将使用这个。谢谢@jonschipp这假设没有其他以
/
结尾的行。但是,
df
命令就是这种情况,所以它很好。