查找具有精确字符串bash的行

时间:2015-03-19 18:53:56

标签: bash

我需要找到包含完全字符串的所有通道,例如我们有这个输入:

/home/admin fileA /home/admin/bin fileB

我需要找到行

/home/admin fileA

我想我应该使用grep /home/admin,但即使使用-w

它也不会按我想要的方式工作

3 个答案:

答案 0 :(得分:3)

使用awk:

awk '$1 == "/home/admin"' file
/home/admin fileA

编辑:根据以下评论,您可以使用:

awk -v p=$(pwd) '$1 == p' file

使用grep

grep -F '/home/admin ' file
/home/admin fileA

答案 1 :(得分:1)

如果您想查找以/home/admin开头而不是/home/admin/的任何内容,Grep会有效。

grep '^/home/admin[^/]' file

[^/]表示“任何事情都是斜线”

答案 2 :(得分:1)

搜索您的字词,后跟空格或行尾

grep '/home/admin\($\|[[:blank:]]\)' file

或者,有点整洁

grep -E '/home/admin($|[[:blank:]])' file

grep -w不起作用,因为它将您的搜索字词包装在字边界标记中,而对于第二行,admin/之间存在字边界