awk - 更改文本文件的外观

标签 awk

我有一个文本文件如下。

>1KKW
IYLCAVLLIL
>1WY6
GSLLILKR
>1Z23
LTLQQVINLAFQ
>1ZQS

>2B25
AV
>2L3Z
LLIL
>2OPT

>3AZO
SFNVAKR

我想按如下所示安排上述文件。我怎样才能用awk做到这一点?非常感谢您的帮助!

期望的输出

1KKW     IYLCAVLLIL
1WY6     GSLLILKR
1Z23     LTLQQVINLAFQ
1ZQS     no residues
2B25     AV
2L3Z     LLIL
2OPT     no residues
3AZO     SFNVAKR

最佳答案

这是一个awk

awk 'NF {$2="\t"($2==""?"no residues":$2)} NF' RS=\> file
1KKW    IYLCAVLLIL
1WY6    GSLLILKR
1Z23    LTLQQVINLAFQ
1ZQS    no residues
2B25    AV
2L3Z    LLIL
2OPT    no residues
3AZO    SFNVAKR

这里我确实使用 > 作为记录选择器,因为它应该给出行的开头
然后下一个数据打印为$2,如果$2中没有数据使用"no residues"

关于awk - 更改文本文件的外观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22424701/

相关文章:

svn - 有人对 svn 日志输出有一个不错的 awk 吗?

bash - sed/awk 将成对的行合并为一行

regex - 使用 sed 和 regex 处理多行日志文件

bash - awk 或其他命令如何获取字符串 curl 结果的变量值?

linux - 如何获取 iostat 第二个样本

linux - 如何使用 awk 按字母或结束字符分隔字段

regex - 带有正则表达式的awk字段分隔符

awk - 使用 Bash 和 Awk 进行列操作

linux - 从 UTC 到纪元的转换 shell 脚本或 awk

bash - shell 脚本 : replace contents