【发布时间】:2015-08-07 04:05:06
【问题描述】:
我有一个包含字符串的文件,我想检查该文件中是否存在一个字符串作为单独的单词。 示例:
字符串 = 内存盒
-
包含“rambox”的文件:
initrd=yahya/rambox/initramfs11.cpio.gz rambox ramdisk_size=5242880 ...
“grep”命令会告诉“rambox”存在
-
文件不包含“rambox”
initrd=yahya/rambox/initramfs11.cpio.gz ramdisk_size=5242880 ...
“grep”命令将告诉“rambox”存在,因为它作为路径“initrd=yahya/rambox/initramfs11.cpio.gz”的子字符串存在,这是不正确的。 我想获得第二个示例中不存在“rambox”。有什么办法吗?
【问题讨论】:
-
只需使用
grep ' rambox '。 -
没有我的朋友,如果“rambox”在文件的开头或结尾怎么办?!
-
只是一个提示:grep 支持带有标志的 Perl 正则表达式
-
试试
grep '\<rambox\>'。有多种解决方案,这也可能有效:grep -w rambox. -
@Survivor :然后
grep用于^rambox和rambox$也是如此。您甚至可以将这三个组合成grep -E '(^| )rambox($| )'。
标签: linux string bash shell grep