【发布时间】:2019-08-25 07:38:33
【问题描述】:
我需要在同一行中删除包含一个字符串的所有行。如果找不到匹配项或者即使字符串匹配两次,我也会保留该行。
我正在尝试删除包含字符串“priority”的行,并且仅当该字符串每行仅出现一次时。无论如何可以使用 awk 或 sed 来做吗?此命令未提供所需的输出 awk -F'priority' 'NF==1' filename
输入文件:
shopping_priority+brands,baby_priority_brands
shopping_priority+brands,baby_shopping_brands
men_shopping_local,women_shopping_local
预期输出:
shopping_priority+brands,baby_priority_brands
men_shopping_local,women_shopping_local
更新: 现在我想检查多个单词而不是 "priority" 。例如,我还想检查{priority,women,shopping},如果“priority”或“women”或“shopping”在一行中只出现一次,则删除该行。稍后可以扩展要检查的单词列表。
输入:
shopping_priority+brands,baby_priority_brands
shopping_priority+brands,baby_shopping_brands
men_shopping_local,women_shopping_local
pla%20electronics_bfhrg_shopping,pla_electronics_shopping
现在我的预期输出应该是:
pl%20electronics_bfhrg_shopping,pla_electronics_shopping
【问题讨论】: