簡體   English   中英

如何在沒有sed字符串的情況下匹配行

[英]how to match lines without some strings in sed

我試圖打印出該文件夾下每個文件的第一行(以>開頭,因為文件是fasta文件),並使用sed提取出沒有質粒和片段的那些行。

我做了ls * | xargs -I one sed -n -e '/^>.*[^fragment|plasmid].*/p' one > outfile ls * | xargs -I one sed -n -e '/^>.*[^fragment|plasmid].*/p' one > outfile但它不起作用? 我應該如何修改?

我是否認為您只想從每個文件中打印第一行(如果該行不包含片段或質粒)? 那只是:

awk 'FNR==1 && !/fragment|plasmid/' *

如果這不是您想要的,請使用一些代表性的示例輸入和預期輸出來更新您的問題。

這對您有用嗎?

head -q -n 1 * | egrep -v "^>.*(fragment|plasmid).*"

如果我將您的要求讀為以>開頭的打印行,除非它們包含片段或質粒,那么我認為這將為您完成:

sed -ne '/^>/{/fragment/;b;/plasmid/b;p;}' one > outfile

它會忽略所有不以>開頭的行,如果找到片段或質粒,它將跳至腳本末尾並轉到下一行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM