Command-Line

uniq 和 agrep 的組合?

  • April 30, 2014

我有一個充滿長 SQL 查詢的文件,每行一個。我需要創建一個唯一查詢列表,但大多數查詢都包含參數值,這使得使用精確匹配工具uniq變得不可能。有沒有辦法“模糊”地找到獨特的線條,比如agrep

如果查詢足夠可預測,也許您可以簡單地去掉sed參數值——例如,如果許多查詢包含與數字的相等比較,sed 's/=[[:digit:]]+//g'將刪除所有實際數字,只留下列名。

否則,我能想到的唯一真正通用的解決方案是圖形辨識技術,例如k最近鄰,它可以根據相似性將任意字元串列表分類為集群。

您可能會幸運地通過 EXPLAIN ANALYZE 執行每個查詢並在查詢計劃中找到獨特的結果。

引用自:https://unix.stackexchange.com/questions/127090