【发布时间】:2019-06-21 02:58:51
【问题描述】:
有多个输入文件(eg:file1,file2,file3....) 每个文件包含如下几行。
文件 1:
123,WoW,45,2018,M_SILVER
124,WoW_HD,2018,M_SILVER
125,WoW,45,2018,M_SILVER_FTTH
126,WoW,45,2018,M_GOLD
文件 2:
133,WoW,45,2019,M_SILVER
134,WoW_HD,2019,M_SILVER
135,WoW,45,2019,M_SILVER_FTTH
136,WoW,45,2019,M_GOLD
我需要删除包含 WoW 的行,并且(M_SILVER 或 M_GOLD)输出应仅包含以下行。
文件 1:
124,WoW_HD,2018,M_SILVER
125,WoW,45,2018,M_SILVER_FTTH
文件 2:
134,WoW_HD,2019,M_SILVER
135,WoW,45,2019,M_SILVER_FTTH
文件名无法更改。 希望现在问题很清楚,你们可以提供解决方案。
尝试如下:
ls | grep file| sort | while read line ; do cat $line | grep WoW |grep -v WoW_HD | grep 'M_SILVER\|M_GOLD' | sed -i '/$line/d' ./infile;done
【问题讨论】:
-
请提供更多详细信息、示例输入、预期输出等。请阅读how-to-ask 和mcve。
-
我现在已经编辑了帖子。希望现在很清楚
-
对我来说,您似乎想要一个完整的解决方案并且没有表现出任何努力。你试过什么?您当前的代码是什么,该代码中什么不起作用?
-
选择代码,点击编辑器上的
{}按钮,不要使用双换行符,这会使帖子难以阅读。 -
编辑帖子使其可读...