如何用grep查找PHP.ini中含session且不以分号开头的配置行?
过滤PHP.ini中有效Session配置行的解决方案
没问题,我帮你搞定这个需求——要从php.ini里只揪出有效的session相关配置行,跳过那些以分号开头的注释行,用下面这个grep命令就可以:
grep -i "^[^;]*session" php.ini
命令细节拆解:
-i:忽略大小写,不管是session、Session还是SESSION都能匹配到,避免漏查^[^;]*:这部分是核心的正则规则:^表示匹配行的开头位置[^;]表示匹配不是分号的任意单个字符*表示允许前面的字符出现0次或多次,确保跳过所有开头带分号的注释行
session:指定要匹配的关键词,确保只返回包含session的配置行
如果你的配置行后面还跟着行尾注释(比如session.save_path = "/tmp"; 临时存储路径),想要彻底清理掉这些注释内容,可以再加个sed命令配合:
grep -i "^[^;]*session" php.ini | sed 's/;.*$//'
这个sed命令会把每行中从分号开始到行尾的所有内容都删除,只保留纯粹的配置语句。
内容的提问来源于stack exchange,提问作者Tony H
相关产品推荐
相关产品推荐

