Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 获取以“结束”结尾的行$&引用;在文本文件中_Linux_Shell_Grep - Fatal编程技术网

Linux 获取以“结束”结尾的行$&引用;在文本文件中

Linux 获取以“结束”结尾的行$&引用;在文本文件中,linux,shell,grep,Linux,Shell,Grep,我有这样一个输出: a/foo bar / b/c/foo sth /xyz cc/bar ghj /axz/byz $ grep '/$' file a/foo bar / 我想要的只是这句话: a/foo bar / 更清楚地说,我希望这些行以特定字符串结尾。我想要grep在最后一列有/字符的行。您可以像这样使用$: a/foo bar / b/c/foo sth /xyz cc/bar ghj /axz/byz $ grep '/$' file a/foo bar / 由于$代表

我有这样一个输出:

a/foo bar /
b/c/foo sth /xyz
cc/bar ghj /axz/byz
$ grep '/$' file
a/foo bar /
我想要的只是这句话:

a/foo bar /

更清楚地说,我希望这些行以特定字符串结尾。我想要
grep
在最后一列有
/
字符的行。

您可以像这样使用
$

a/foo bar /
b/c/foo sth /xyz
cc/bar ghj /axz/byz
$ grep '/$' file
a/foo bar /

由于
$
代表行尾,
/$
匹配最后一个字符为
/

的行,您可以这样使用
$

a/foo bar /
b/c/foo sth /xyz
cc/bar ghj /axz/byz
$ grep '/$' file
a/foo bar /
grep '/$'
由于
$
代表行尾,
/$
匹配最后一个字符为
/
的行

grep '/$'
斜杠不是grep的特殊字符,$表示在一行的末尾匹配表达式


您甚至可以在最后一列处用仅齿隙grep最后一列(但不是行中的唯一一列)

我假设一行的最后一列是一个字符串,该字符串前面有多个空格字符串,后面没有字符。如果该行
中只有一列,则该假设不符合要求,因为如果该行只有一列,则该行前面不需要空格

By启用perl正则表达式(-p)

\s表示匹配任何空格字符(空格、制表符、换行符)

加号表示对前面的元素进行1次或多次匹配

$表示字符串的结尾

参见

grep '[[:blank:]]\+/$'
“[:blank:]”空白字符:空格和制表符

“[:space:]”空格字符:在“C”区域设置中,这是制表符,换行符, 垂直选项卡、进纸、回车和空格。它是“\s”的同义词

参见@fedorqui,]]后面的反斜杠用于区分 文字+。谢谢你的解释

抱歉如果perl回答错误,因为我从来没有使用或学习过perl表达式,但我真的希望能帮助您找到最后一列斜杠,所以可能您可以阅读这些内容,了解更多信息,以便在行尾用斜杠搜索退格

斜杠不是grep的特殊字符,$表示在一行的末尾匹配表达式


您甚至可以在最后一列处用仅齿隙grep最后一列(但不是行中的唯一一列)

我假设一行的最后一列是一个字符串,该字符串前面有多个空格字符串,后面没有字符。如果该行
中只有一列,则该假设不符合要求,因为如果该行只有一列,则该行前面不需要空格

By启用perl正则表达式(-p)

\s表示匹配任何空格字符(空格、制表符、换行符)

加号表示对前面的元素进行1次或多次匹配

$表示字符串的结尾

参见

grep '[[:blank:]]\+/$'
“[:blank:]”空白字符:空格和制表符

“[:space:]”空格字符:在“C”区域设置中,这是制表符,换行符, 垂直选项卡、进纸、回车和空格。它是“\s”的同义词

参见@fedorqui,]]后面的反斜杠用于区分 文字+。谢谢你的解释

抱歉如果perl回答错误,因为我从来没有使用或学习过perl表达式,但我真的希望能帮助您找到最后一列斜杠,所以可能您可以阅读这些内容,了解更多信息,以便在行尾用斜杠搜索退格


您选择该行而不是其他行的标准是什么?编辑了问题。我想要一条线,以一些特殊的图案结尾如果这条线是“a/foo bar bb/”,你想显示它吗?您的要求“我想grep最后一列有“/”字符的行”实际上您在显示的所有三行输出的最后一列有“/”字符……您的要求是否可以更清楚地更正?谢天谢地,我可能误解了专栏的定义。。。。输出的所有行是否都是以空格分隔的3列?可能是,可能不是。重要的是,这行应该以“/”字符结尾。你选择这行而不是其他行的标准是什么?编辑问题。我想要一条线,以一些特殊的图案结尾如果这条线是“a/foo bar bb/”,你想显示它吗?您的要求“我想grep最后一列有“/”字符的行”实际上您在显示的所有三行输出的最后一列有“/”字符……您的要求是否可以更清楚地更正?谢天谢地,我可能误解了专栏的定义。。。。输出的所有行是否都是以空格分隔的3列?可能是,可能不是。重要的是,这行应该以“/”字符结尾。清晰简单的解决方案。我会标记它,但我必须等待8分钟。该死!16分钟内投8票。你真是太棒了@fedorqui!!编辑:对不起,刚刚读到你达到了上限。嗅嗅嗅嗅清晰而简单的解决方案。我会标记它,但我必须等待8分钟。该死!16分钟内投8票。你真是太棒了@fedorqui!!编辑:对不起,刚刚读到你达到了上限。Sniff Sniff任何人都可以帮我检查第2、第3和第4个命令是否可以获取最后一列的斜杠字符?因为我现在附近没有Linux机器,我很想知道答案。谢谢,他们都在
GNUBash上为我工作,