[英]Using grep, how to match beginning of line with pattern from stdin
我有一個單行打印出一系列數字:
124
132
186
然后我將此輸出管道到 grep 以將這些數字與另一個文件中的行的開頭匹配,但有時行中的第二個數字與其中一個模式匹配,並且我得到一個不正確的匹配,如下所示:
$ get_id_command | grep -f - users.list
124 => 3456, Charles Charmichael, ccharmichael
132 => 2498, Sarah Walker, swalker
186 => 8934, John Casey, jcasey
240 => 1245, Morgan Grimes, mgrimes
我需要什么選項才能讓 grep 只匹配行首的模式? 我真的很想將它保留為單絨毛。
在文件的每一行前加一個抑揚符,它就會起作用。 Circumflex 確實表示模式內的線開始。 因此,按照描述修改您的users.list
,例如
sed -Ei 's|(.*)|^\1|' users.list
之后,您應該通過命令獲得所需的結果
$ get_id_command | grep -f - users.list
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.