我有一個名爲LastNames.txt
文件,列出了從0人氣的百分比100個姓氏爲100 的問題是如何使用grep
創建一個包含有0.000
%的姓氏新文件僅受歡迎。 注:我使用的Unix命令,這是我使用的代碼:Unix命令
grep '0.000' LastNames.tab > unpopularNames.tab
當我使用這個命令我得到一些姓氏比0.000更大的百分比。
我有一個名爲LastNames.txt
文件,列出了從0人氣的百分比100個姓氏爲100 的問題是如何使用grep
創建一個包含有0.000
%的姓氏新文件僅受歡迎。 注:我使用的Unix命令,這是我使用的代碼:Unix命令
grep '0.000' LastNames.tab > unpopularNames.tab
當我使用這個命令我得到一些姓氏比0.000更大的百分比。
將匹配10.000 – 2013-02-13 13:39:17
用_word邊界編輯的開機自檢_ \ \ b – 2013-02-13 13:56:50
沒有理由要儘量做到的grep做一個RE比較,當你真正想要的是一個算術比較:
$ 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 file
從人grep
:
-F,--fixed串
解釋圖案作爲固定的字符串的列表,通過 換行,其中的任何一個是被匹配分離。 (-F由 POSIX指定。)
-w,--word-regexp的
選擇只含有形成整體 字匹配的那些行。測試是匹配的子字符串必須在行的開始處爲 ,或者在非字 組成字符之前。同樣,它必須在該行的末尾 之後,或者後面跟着一個非單詞組成字符。 單詞組成字符是字母,數字和 下劃線。
演示:
$ cat file
error 0E000
top 100.000
middle 50.000
lower 25.000
bottom 0.000
# Orignal over matching grep
$ grep 0.000 file
error 0E000
top 100.000
middle 50.000
bottom 0.000
# With correct flags only right lines are matched
$ grep -Fw 0.000 file
bottom 0.000
注意:您可以使用fgrep
代替grep -F
:
fgrep -w 0.000 file
更好地在這裏提供了樣本輸入/輸出 – 2013-02-12 23:46:21
輸入:grep的 '0.000' LastNames.tab> unpopularNames .tab 輸出: PEACE 0。003 GAGLIARDI 0.001 ZUPAN 0.000 ZUCHOWSKI 0.000 – user2066595 2013-02-13 02:45:28
@ user2066595 - sputnik意味着用格式化的樣本輸入和格式化的期望輸出更新您的問題,而不是添加評論與未格式化,不受歡迎的輸出。 – 2013-02-13 13:41:00