【发布时间】:2017-06-01 17:10:02
【问题描述】:
我有一个名为“optionsList.txt”的 txt 文件,其中包含以下行:
00201205CA2A421F99B7E0E0B332921C
00AAFF650E9F42B987679AB21F1A5F0F
015CF25A44D047398E96A0BD7A06939E
00201205CA2A421F99B7E0E0B332921C
00AAFF650E9F42B987679AB21F1A5F0F
015CF25A44D047398E96A0BD7A06939E
016F0DFB04A24B5B92E50079CB15ADC7
022F3506A50F451682881080B31F9067
....
我正在尝试使用 grep -F -f 在目录“./Options/”中查找匹配项
编辑:这是我正在使用的命令(抱歉之前没有包含它):
grep -nr -Ff optionsList.txt ./Options/
但是 grep 什么都没有。
当我使用普通模式时 grep
grep -nr 00AAFF650E9F42B987679AB21F1A5F0F ./Options/
我确实看到了正确的结果,例如:
./Options/ReportOptions.log.25:100331:2017/01/06 04:02:37.479 [7420] 00AAFF650E9F42B987679AB21F1A5F0F: Report.ExecuteJob Start
./Options/ReportOptions.log.25:100348:2017/01/06 04:02:38.988 [7420] 00AAFF650E9F42B987679AB21F1A5F0F: ExecuteAtOnce Before Call
为什么我的 grep 命令对模式文件不起作用?
【问题讨论】:
-
你试过什么命令?你知道叫哪个 grep 吗?
-
很抱歉。我更新了问题以包含我正在使用的命令。
-
您能否检查模式文件中是否没有不可打印的字符:
cat -vte optionsList.txt | head -
只是一个想法,它与 Nahuel 的方向相同:optionsList.txt 是来自另一个具有不同 lineending 约定的操作系统吗?
-
是的,它是在 Windows 中创建的。并使用 cat -vte optionsList.txt | head 命令我现在可以看到每行末尾似乎有一些“^M$”字符