AWK替换不以“>”开头的行的字符

TUnix

我正在使用序列数据,但我愚蠢的找不到在使用awk而不以“ 开头的行.中用“ X替换“ 的正确方法>我真的需要使用awk而不是sed。

我已经走了这么远,但全都是“。” 以此方式替换:

awk '/^>/ {next} {gsub(/\./,"X")}1' Sfr.pep > Sfr2.pep

子数据示例:

>sequence.1
GTCAGTCAGTCA.GTCAGTCA

结果我想得到:

>sequence.1
GTCAGTCAGTCAXGTCAGTCA
库萨兰达

这样做似乎更自然sed

sed '/^>/!y/./X/' Sfr.pep >Sfr2.pep

这将与^>当前行匹配(“此行是否以>字符开头?”)。如果该表达式并匹配,则该y命令用于改变各点在该行X

测试:

$ cat Sfr.pep
>sequence.1
GTCAGTCAGTCA.GTCAGTCA
$ sed '/^>/!y/./X/' Sfr.pep >Sfr2.pep
$ cat Sfr2.pep
>sequence.1
GTCAGTCAGTCAXGTCAGTCA

awk代码的主要问题是,next每当遇到fasta标头行时就会执行该代码这意味着您的代码仅产生序列数据,而没有标题。虽然该序列数据应该看起来还可以,但这并没有太大帮助。

简单地否定测试并丢弃next块(或之前的nextprint)将解决它在awk你,但,这是我个人的看法,使用y命令sed比使用更优雅gsub()(或s///gsed)音译为单个字符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

sed替换不以#开头的匹配行

来自分类Dev

替换不以文本文件中特定字符开头的行上的特定列

来自分类Dev

如何替换以特定字符开头的注释行

来自分类Dev

如何合并不以某些字符开头的行

来自分类Dev

如何合并不以某些字符开头的行

来自分类Dev

匹配不以前两个特定字符开头的行

来自分类Dev

RegExp替换不以某些符号开头的单词

来自分类Dev

AWK-如何替换开头的行?

来自分类Dev

正则表达式如何找到那些不以给定字符串开头的行?

来自分类Dev

sed 命令删除包含超过 10 个字符且不以 91 开头的行

来自分类Dev

Pyparsing-名称不以字符开头

来自分类Dev

sed:查找并替换以特定字符串开头的行中的第n个字符

来自分类Dev

仅当行不是以某个特定字符开头时,powershell才替换文件中的行

来自分类Dev

删除不以#开头且与模式匹配的行

来自分类Dev

行不以空格开头和结尾

来自分类Dev

如果存在则替换以字符串开头的文件中的行,如果不存在则添加

来自分类Dev

awk 以# 符号开头的重复行

来自分类Dev

匹配数字不以字符串开头

来自分类Dev

不以/ *开头的字符串的正则表达式

来自分类Dev

Linux sed-删除单词不以特定字符开头

来自分类Dev

Javascript-删除数组中不以字符开头的元素

来自分类Dev

捕获不以特定单词开头的字符串

来自分类Dev

验证不以特殊字符开头或结尾的文本框

来自分类Dev

获取不以元音开头或结尾的列表字符串

来自分类Dev

使用 grep 查找包含字符串但不以另一个字符串开头的行

来自分类Dev

AWK字符串替换

来自分类Dev

将字符替换为awk

来自分类Dev

AWK字符串替换

来自分类Dev

awk +删除重复的行,但忽略以#开头的行

Related 相关文章

热门标签

归档