0
我有一長串關鍵字和一個單一的數據文件。我想根據提供的關鍵字過濾這個數據文件。我怎樣纔能有效地做到這一點?我知道我可以使用for循環,每次使用一個關鍵字,並在數據文件中使用grep關鍵字。如何grep一個沒有循環的關鍵字長列表
foreach keyword (`cat keywords`)
grep $keyword data_raw >> data_filtered
end
我也嘗試過perl管道,但它看起來效率很低。
cat keyword | perl -ne '$a = `grep "$_" data_raw`; print $a;' > data_filtered
是否有任何有效的單行方式來完成這項工作?
輸出順序是否重要?最有效的解決方案是同時查找所有關鍵字(目前的答案都是這樣做),而輸出將按輸入文件中的單詞排序,並且如果一行匹配多個關鍵字,則包含重複項。如果這就是你真正想要的東西,你可能需要編輯來澄清你的要求。 – tripleee