在csv文件中搜索一些文本

时间:2013-01-23 14:02:35

标签: perl unix

  

可能重复:
  Search a value in CSV

我创建了一个perl脚本。 让我们假设我想在包含äbcd的CSV文件中搜索“abc”。我写的脚本显示我abcd作为输出,实际上我不想要,任何人都可以帮助。

2 个答案:

答案 0 :(得分:1)

问题是在unicode文件中搜索ANSI字符串。我认为您可以通过查看此正则表达式教程来最好地回答您的问题,该教程指出了与您类似的示例。

http://www.regular-expressions.info/unicode.html

答案 1 :(得分:0)

我猜你需要匹配perl中的确切单词:

在perl中使用以下正则表达式:

(/\b"your_word"\b/

测试:

没有\ b

> echo 'abcd'|perl -lne 'if(/abc/){print}'
abcd

与\ b

> echo 'abcd' | perl -lne 'if(/\babc\b/){print}'
> 
> echo 'abc' | perl -lne 'if(/\babc\b/){print}'
abc

通过查看您的代码,您正在执行此操作:

(grep /$curr/, @nodes) 

将其更改为: (grep /\b$curr\b/, @nodes)应该有效