如何使用csv去除文本文件

时间:2015-01-23 14:52:56

标签: csv text replace text-files

由于这个问题基本上是多么令人尴尬,所以期待被投票和关闭:

但是,使用逗号描述的单词列表,在文本文档(或文本文档等效文件)中查找和替换(删除)单词的最简单方法是什么?我目前的选择是a)手动搜索并替换每个单词或b)从头开始编写一个c程序来为我完成工作。

例如包含

的文本文件
apraxic
aprepitant
Apresazide
Apresoline
Apri
apricot
apridae
aprifoliaceae
...

(即由\ n描述)和csv包括

  

苹果,杏,四月,...

上述结果将是

apraxic
aprepitant
Apresazide
Apresoline
Apri
apridae
aprifoliaceae
...

1 个答案:

答案 0 :(得分:2)

这样的事情:

fgrep -v -f <(tr ',' '\n' < verboten) textfile

其中verboten是带有禁用词列表的文件的名称。 <()进程替换,它会创建一个伪文件,其中包含括号内的结果 - 在这种情况下,我会将verboten文件中的所有逗号翻译成换行。 -v否定了搜索。

这是bash - 主义。如果您使用不同的shell,则需要两个步骤:

tr ',' '\n' < verboten > verboten.col    # Make line into column
fgrep -v -f verboten.col textfile