当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 28 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 求助:shell脚本编程统计文本A.txt中的信息
帖子发表于 : 2010-09-28 21:36 

注册: 2010-09-28 20:24
帖子: 18
送出感谢: 0 次
接收感谢: 0 次
使用shell编程统计文本A.txt中的8种Structure 各自的数量,然后将相同structure的归为一行,标明Start_Residue_ID和End_Residue_ID,结果放在文本B.txt中

文本A.txt:
Residue Structure
1A H
2A H
3A S
4A S
5A S
6A S
7A S
8A S
9A E
10A E
说明:Residue:有数字和字母组成
Structure 共8种:H B E G I T S (最后一种是空格)

文本B.txt(统计结果):
H B E G I T S 空格
2 0 2 0 0 0 6 0

Number Structure Start_Residue_ID End_Residue_ID
1 H 1A 2A
2 S 3A 8A
4 E 9A 10A
说明:统计出8种STRUCTURE各自的数量
然后将相同structure的归为一行,标明Start_Residue_ID和End_Residue_ID。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 求助:shell脚本编程统计文本A.txt中的信息
帖子发表于 : 2010-09-29 2:33 
头像

注册: 2008-09-18 13:11
帖子: 2691
送出感谢: 1
接收感谢: 437
一看就是某课程的作业,自己解决吧。awk或grep+wc+head+tail+cut都可以实现


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 求助:shell脚本编程统计文本A.txt中的信息
帖子发表于 : 2010-09-29 9:36 

注册: 2010-09-28 20:24
帖子: 18
送出感谢: 0 次
接收感谢: 0 次
astolia 写道:
一看就是某课程的作业,自己解决吧。awk或grep+wc+head+tail+cut都可以实现

你好,这是我的作业,我用从C++可以实现。因为刚接触shell,做这个做了很久,没做出来,所以我想请大虾帮我用shell实现,作为我入门的一个研究实例。谢谢


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 求助:shell脚本编程统计文本A.txt中的信息
帖子发表于 : 2010-09-29 9:51 
头像

注册: 2006-10-25 18:08
帖子: 1582
送出感谢: 0 次
接收感谢: 0 次
第一问
代码:
#!/bin/bash
for i in `cut -f2 -d" " lines2`
do
echo -n $i" " && grep -c $i$ lines2
done|uniq

结果:
H 2
S 6
E 2
我就不排版,不补0了


_________________
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 求助:shell脚本编程统计文本A.txt中的信息
帖子发表于 : 2010-09-29 9:59 
头像

注册: 2006-10-25 18:08
帖子: 1582
送出感谢: 0 次
接收感谢: 0 次
第二问给你个思路吧
for i in "H B E G I T "
do
grep $i ufile|cut -f1 -d" " | sed列转行 | awk取首尾
#或awk水平高点,这里只用awk也能做到
done


_________________
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 求助:shell脚本编程统计文本A.txt中的信息
帖子发表于 : 2010-09-29 10:01 

注册: 2010-09-28 20:24
帖子: 18
送出感谢: 0 次
接收感谢: 0 次
trigger 写道:
第一问
代码:
#!/bin/bash
for i in `cut -f2 -d" " lines2`
do
echo -n $i" " && grep -c $i$ lines2
done|uniq

结果:
H 2
S 6
E 2
我就不排版,不补0了

大虾,你统计出8种STRUCTURE各自的数量,后面还有一步,要求将相同structure的归为一行,标明Start_Residue_ID和End_Residue_ID。
Number Structure Start_Residue_ID End_Residue_ID
1 H 1A 2A
2 S 3A 8A
4 E 9A 10A


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 求助:shell脚本编程统计文本A.txt中的信息
帖子发表于 : 2010-09-29 10:09 
头像

注册: 2006-10-25 18:08
帖子: 1582
送出感谢: 0 次
接收感谢: 0 次
hanyu120 写道:
trigger 写道:
第一问
代码:
#!/bin/bash
for i in `cut -f2 -d" " lines2`
do
echo -n $i" " && grep -c $i$ lines2
done|uniq

结果:
H 2
S 6
E 2
我就不排版,不补0了

大虾,你统计出8种STRUCTURE各自的数量,后面还有一步,要求将相同structure的归为一行,标明Start_Residue_ID和End_Residue_ID。
Number Structure Start_Residue_ID End_Residue_ID
1 H 1A 2A
2 S 3A 8A
4 E 9A 10A

这就是我说的第2问,自己想想


_________________
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 求助:shell脚本编程统计文本A.txt中的信息
帖子发表于 : 2010-09-29 10:29 

注册: 2010-09-28 20:24
帖子: 18
送出感谢: 0 次
接收感谢: 0 次
trigger 写道:
第一问
代码:
#!/bin/bash
for i in `cut -f2 -d" " lines2`
do
echo -n $i" " && grep -c $i$ lines2
done|uniq

结果:
H 2
S 6
E 2
我就不排版,不补0了

大虾,A.txt 的 Structure若为如下,统计不出空格出现的次数
Residue Structure
1A H
2A H
3A
4A
5A S
6A S
7A S
8A E
9A E
10A E


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 求助:shell脚本编程统计文本A.txt中的信息
帖子发表于 : 2010-09-29 10:48 
头像

注册: 2006-10-25 18:08
帖子: 1582
送出感谢: 0 次
接收感谢: 0 次
hanyu120 写道:
trigger 写道:
第一问
代码:
#!/bin/bash
for i in `cut -f2 -d" " lines2`
do
echo -n $i" " && grep -c $i$ lines2
done|uniq

结果:
H 2
S 6
E 2
我就不排版,不补0了

大虾,A.txt 的 Structure若为如下,统计不出空格出现的次数
Residue Structure
1A H
2A H
3A
4A
5A S
6A S
7A S
8A E
9A E
10A E

这点事应该很好自己解决啊
代码:
#!/bin/bash
for i in H B E G I T S K
do
echo -n $i" " && sed 's/ $/K/' file|grep -c $i$
done|uniq


_________________
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。


最后由 trigger 编辑于 2010-09-29 10:55,总共编辑了 1 次

页首
 用户资料  
 
10 楼 
 文章标题 : Re: 求助:shell脚本编程统计文本A.txt中的信息
帖子发表于 : 2010-09-29 10:53 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
没看懂。给实例。一分钟搞定


_________________
● 鸣学


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 求助:shell脚本编程统计文本A.txt中的信息
帖子发表于 : 2010-09-29 11:34 

注册: 2010-09-28 20:24
帖子: 18
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
没看懂。给实例。一分钟搞定

要求:将相同structure的归为一行,标明Start_Residue_ID和End_Residue_ID,结果放在文本B.txt中
文本A.txt:
Residue Structure
1A H
2A H
3A
4A
5A
6A S
1B i
2B i
3B E
4B E
5B E
说明:Residue:有数字和字母组成,字母A表示A链
Structure 共8种:H B E G I T S K(K表示空格)


文本B.txt(统计结果):
A链
Number Structure Start_Residue_ID End_Residue_ID
1 H 1A 2A
2 K 3A 5A
3 S 6A 6A
B链
Number Structure Start_Residue_ID End_Residue_ID
1 i 1B 2B
2 E 3B 5B


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 求助:shell脚本编程统计文本A.txt中的信息
帖子发表于 : 2010-09-29 11:42 

注册: 2010-09-28 20:24
帖子: 18
送出感谢: 0 次
接收感谢: 0 次
trigger 写道:
第二问给你个思路吧
for i in "H B E G I T "
do
grep $i ufile|cut -f1 -d" " | sed列转行 | awk取首尾
#或awk水平高点,这里只用awk也能做到
done

大虾,第二问有两条链,麻烦了
要求:将相同structure的归为一行,标明Start_Residue_ID和End_Residue_ID,结果放在文本B.txt中
文本A.txt:
Residue Structure
1A H
2A H
3A
4A
5A
6A S
1B i
2B i
3B E
4B E
5B E
说明:Residue:有数字和字母组成,字母A表示A链
Structure 共8种:H B E G I T S K(K表示空格)


文本B.txt(统计结果):
A链
Number Structure Start_Residue_ID End_Residue_ID
1 H 1A 2A
2 K 3A 5A
3 S 6A 6A
B链
Number Structure Start_Residue_ID End_Residue_ID
1 i 1B 2B
2 E 3B 5B


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 求助:shell脚本编程统计文本A.txt中的信息
帖子发表于 : 2010-09-29 12:13 
头像

注册: 2006-10-25 18:08
帖子: 1582
送出感谢: 0 次
接收感谢: 0 次
hanyu120 写道:
trigger 写道:
第二问给你个思路吧
for i in "H B E G I T "
do
grep $i ufile|cut -f1 -d" " | sed列转行 | awk取首尾
#或awk水平高点,这里只用awk也能做到
done

大虾,第二问有两条链,麻烦了
要求:将相同structure的归为一行,标明Start_Residue_ID和End_Residue_ID,结果放在文本B.txt中
文本A.txt:
Residue Structure
1A H
2A H
3A
4A
5A
6A S
1B i
2B i
3B E
4B E
5B E
说明:Residue:有数字和字母组成,字母A表示A链
Structure 共8种:H B E G I T S K(K表示空格)


文本B.txt(统计结果):
A链
Number Structure Start_Residue_ID End_Residue_ID
1 H 1A 2A
2 K 3A 5A
3 S 6A 6A
B链
Number Structure Start_Residue_ID End_Residue_ID
1 i 1B 2B
2 E 3B 5B

首先处理全部文本,然后正则[0-9]A和[0-9]B区分一下,最后分别编号


_________________
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 求助:shell脚本编程统计文本A.txt中的信息
帖子发表于 : 2010-09-29 12:40 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
模模糊糊的。大概这意思吧。

代码:
2010-09-29 12:39:19 三 ~
● cat t.pl
#!/usr/bin/perl

$os="X"; $ot="X";
while (<STDIN>){
chomp;
($t,$s)=split "\ ", $_;
if($s!~/$os/){
print "$ot\n$s\ $t\ ";
}
$os=$s;$ot=$t;
}
2010-09-29 12:39:30 三 ~
● cat t
1A H
2A H
3A K
4A K
5A K
6A S
1B i
2B i
3B E
4B E
5B E

2010-09-29 12:39:32 三 ~
● cat t|perl t.pl
X
H 1A 2A
K 3A 5A
S 6A 6A
i 1B 2B
E 3B 5B


_________________
● 鸣学


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 求助:shell脚本编程统计文本A.txt中的信息
帖子发表于 : 2010-09-29 13:02 
头像

注册: 2006-10-25 18:08
帖子: 1582
送出感谢: 0 次
接收感谢: 0 次
就知道ee会用perl :em04


_________________
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 28 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译