使用grep指定模式的Unix命令
我有一个名为使用grep指定模式的Unix命令,unix,grep,command,regex,Unix,Grep,Command,Regex,我有一个名为LastNames.txt的文件,其中列出了100个姓氏,人气百分比从0到100。 问题是如何使用grep创建只包含0.000人气百分比的姓氏的新文件。 注意:我使用Unix命令,下面是我使用的代码: grep '0.000' LastNames.tab > unpopularNames.tab 使用此命令时,我会得到一些百分比大于0.000的姓氏。尝试执行以下操作: grep '\b0\.000\b' LastNames 点表示字符中的任何字符 \。表示文字 \b表示
LastNames.txt
的文件,其中列出了100个姓氏,人气百分比从0到100。
问题是如何使用grep
创建只包含0.000
人气百分比的姓氏的新文件。
注意:我使用Unix命令,下面是我使用的代码:
grep '0.000' LastNames.tab > unpopularNames.tab
使用此命令时,我会得到一些百分比大于0.000的姓氏。尝试执行以下操作:
grep '\b0\.000\b' LastNames
- 点
表示字符中的任何字符
表示文字\。
表示单词边界\b
$ cat file
PEACE 0.003
GAGLIARDI 0.001
ZUPAN 0.000
ZUCHOWSKI 0.000
$ awk '$NF == 0' file
ZUPAN 0.000
ZUCHOWSKI 0.000
我建议使用
-F
和-w
标志对整个单词进行固定字符串匹配:
grep-Fw 0.000文件
从mangrep
:
-F、 --固定字符串
将模式解释为固定字符串的列表,由
换行符,任何要匹配的换行符。(-F由
POSIX.)
-w、 --word regexp
仅选择包含构成整体的匹配项的行
话。测试是匹配的子字符串必须是
在行首,或前面有非单词
构成特征。类似地,它必须在结尾或结尾
指行或后跟非单词组成字符。
单词组成字符包括字母、数字和
下划线
演示:
$cat文件
错误0E000
前10万名
中五万
降低25.000
底部0.000
#原始过匹配grep
$grep 0.000文件
错误0E000
前10万名
中五万
底部0.000
#使用正确的标志时,只匹配正确的行
$grep-Fw 0.000文件
底部0.000
注意:您可以使用fgrep
而不是grep-F
:
fgrep-w 0.000文件
Better在此提供示例输入/输出输入:grep'0.000'LastNames.tab>unpopularNames.tab输出:PEACE 0.003 GAGLIARDI 0.001 ZUPAN 0.000 ZUCHOWSKI 0。000@user2066595-sputnik意味着使用格式化的示例输入和格式化的预期输出更新您的问题,而不是使用未格式化的、不需要的输出添加注释。