隔离单词后跟某些单词组合
Isolate words followed by certain word combinations
我有一个数据集,看起来像我在下面输入的内容。我在 Mac 的终端上工作。我只想保留具有 'nohitsfound' 的查询,例如查询 ENST00000446470.1,并删除具有 'length' 连续两次或更多次的查询,例如 ENST00000382676.1。但是,我不知道该怎么做。
Query=ENST00000446470.1 Length=261 Nohitsfound Query=MSTRG.50645.1 Length=2007 Nohitsfound Query=ENST00000382676.1 Length=285 Length=94 Length=94 Length=94 Length=94 Query=ENST00000641821.1 Length=1217 Nohitsfound Query=ENST00000641436.1 Length=1821 Nohitsfound Query=ENST00000649959.1 Length=1734 Nohitsfound Query=MSTRG.50650.1 Length=245 Nohitsfound Query=ENST00000514465.1 Length=1395 Length=464 Length=464 Length=464
非常感谢任何帮助!
echo 'Query=ENST00000446470.1 Length=261 Nohitsfound Query=MSTRG.50645.1 Length=2007 Nohitsfound Query=ENST00000382676.1 Length=285 Length=94 Length=94 Length=94 Length=94 Query=ENST00000641821.1 Length=1217 Nohitsfound Query=ENST00000641436.1 Length=1821 Nohitsfound Query=ENST00000649959.1 Length=1734 Nohitsfound Query=MSTRG.50650.1 Length=245 Nohitsfound Query=ENST00000514465.1 Length=1395 Length=464 Length=464 Length=464' | tr "Q" "\n" | grep Nohitsfound | grep -vwE "Length.*Length"
假设 char Q 不是查询本身的一部分,这将起作用。
说明:
- echo 是打印到屏幕的终端命令。
- | (称为管道)是一种将输出重定向到下一个的形式
命令。
- tr 会将每个“Q”替换为“\n”(这是一个新行。)
- grep 将仅保留找到 Nohitsfound 的行。
- grep -vwE 将删除匹配正则表达式“Length.*Length”的行。
我有一个数据集,看起来像我在下面输入的内容。我在 Mac 的终端上工作。我只想保留具有 'nohitsfound' 的查询,例如查询 ENST00000446470.1,并删除具有 'length' 连续两次或更多次的查询,例如 ENST00000382676.1。但是,我不知道该怎么做。
Query=ENST00000446470.1 Length=261 Nohitsfound Query=MSTRG.50645.1 Length=2007 Nohitsfound Query=ENST00000382676.1 Length=285 Length=94 Length=94 Length=94 Length=94 Query=ENST00000641821.1 Length=1217 Nohitsfound Query=ENST00000641436.1 Length=1821 Nohitsfound Query=ENST00000649959.1 Length=1734 Nohitsfound Query=MSTRG.50650.1 Length=245 Nohitsfound Query=ENST00000514465.1 Length=1395 Length=464 Length=464 Length=464
非常感谢任何帮助!
echo 'Query=ENST00000446470.1 Length=261 Nohitsfound Query=MSTRG.50645.1 Length=2007 Nohitsfound Query=ENST00000382676.1 Length=285 Length=94 Length=94 Length=94 Length=94 Query=ENST00000641821.1 Length=1217 Nohitsfound Query=ENST00000641436.1 Length=1821 Nohitsfound Query=ENST00000649959.1 Length=1734 Nohitsfound Query=MSTRG.50650.1 Length=245 Nohitsfound Query=ENST00000514465.1 Length=1395 Length=464 Length=464 Length=464' | tr "Q" "\n" | grep Nohitsfound | grep -vwE "Length.*Length"
假设 char Q 不是查询本身的一部分,这将起作用。
说明:
- echo 是打印到屏幕的终端命令。
- | (称为管道)是一种将输出重定向到下一个的形式 命令。
- tr 会将每个“Q”替换为“\n”(这是一个新行。)
- grep 将仅保留找到 Nohitsfound 的行。
- grep -vwE 将删除匹配正则表达式“Length.*Length”的行。