我正在尝试使用grep来捕获以下数据:
"\\.xy$" "\\.ab$" "\\.ef\\.hi$"
我有
grep -Eo "((\\\\\.[a-zA-Z]+)){1,2}\\$" file
两个问题:
答案 0 :(得分:2)
使用单反斜杠来代表美元:
% grep -Eo '"(\\\\\.[[:alpha:]]+){1,2}\$"' input
"\\.xy$"
"\\.ab$"
"\\.ef\\.hi$"
或者将特殊字符放入方括号中,我发现它更具可读性:
% grep -Eo '"([\]{2}[.][[:alpha:]]+)+"' input
"\\.xy$"
"\\.ab$"
"\\.ef\\.hi$"
答案 1 :(得分:0)
你已经双重逃过了美元 - 试试这个:
grep -Eo '"((\\\\\.[a-zA-Z]+)){1,2}\$"' file