帮俺解读一下这个script把,谢谢。

sh/bash/dash/ksh/zsh等Shell脚本
回复
horseinfly
帖子: 9
注册时间: 2011-05-30 3:04
送出感谢: 0
接收感谢: 0

帮俺解读一下这个script把,谢谢。

#1

帖子 horseinfly » 2011-06-18 0:22

awk 'BEGIN{P=1}{if(P==1||P==2){gsub(/^[@]/,">");print}; if(P==4)P=0; P++}'

1。P是内置变量么?
2。替换^表示什么。
3。这具话可以实现什么功能,为什么呢。

谢谢。
头像
lilydjwg
论坛版主
帖子: 4165
注册时间: 2009-04-11 23:46
系统: Arch Linux
送出感谢: 11 次
接收感谢: 127 次
联系:

Re: 帮俺解读一下这个script把,谢谢。

#2

帖子 lilydjwg » 2011-06-18 0:39

1. 哪里像了?
2. 学下正则表达式吧——正则表达式30分钟入门教程
3. 每四行的中间两行的 @ 换成 >?这是在干什么呢?你从哪里弄来的脚本?
horseinfly
帖子: 9
注册时间: 2011-05-30 3:04
送出感谢: 0
接收感谢: 0

Re: 帮俺解读一下这个script把,谢谢。

#3

帖子 horseinfly » 2011-06-18 4:34

awk '{i=1; while(i<=FNR){if(NR==i||NR==i+1){print};i=i+4}}'

我写得这个脚本和上面得那个输出结果是一样得。
但是我不理解得是,awk是怎么样控制行数得呢,看起来那个脚本是只能前处理四行得,
换@,直接/@/>/不就好了么,为什么还要加中括号?

谢谢,
example,
@G4AV72A02F16TB
ATTGGACAATGGACCAAAAGTACTGATCCAGCAATTCTGTGTGCACGATGA
+G4AV72A02F16TB
,79567766:<<><<4444499?<<<@BBDFFDD:<<CFFFFFDBAA?>>=


lilydjwg 写了:1. 哪里像了?
2. 学下正则表达式吧——正则表达式30分钟入门教程
3. 每四行的中间两行的 @ 换成 >?这是在干什么呢?你从哪里弄来的脚本?
回复

回到 “Shell脚本”