我在PHP .ini设置文件中查找会话配置标记。
我使用此命令查找它们:
grep -i "session" php.ini
但是它返回注释并注释掉以分号开头的参数&#34 ;;"。
如何更改命令,以便我仍然可以使用" session"但是不是以分号开头的那些?
答案 0 :(得分:2)
grep -i "session" php.ini | grep -vx ';.*'
应该工作
-v是'反转匹配',因此只显示不匹配的行
-x是整线匹配
答案 1 :(得分:2)
尝试一下:
grep -i '^session\|^[^;].*session' php.ini
答案 2 :(得分:1)
假设:
$ cat file
session
session ; trailing comment
; commented line
session
; session
bad session
sessions
你可以grep
会话中没有被赞扬过的行如下:
$ grep '^[^;]*session' file
session
session ; trailing comment
session
bad session
sessions
如果您想删除包含尾随注释的会话的行:
$ grep '^[^;]*session[^;]*$' file
session
session
bad session
sessions
如果您希望会话成为第一个单词,而不是仅仅出现在该行中:
$ grep '^[[:space:]]*session' file
session
session ; trailing comment
session
sessions
如果您只想要会话与子字符串匹配:
$ grep '^[[:space:]]*session\>' file
session
session ; trailing comment
session
(GNU or BSD Grep only that last one...)
等