Chinaunix
标题:
如何快速循环?
[打印本页]
作者:
cfzxwxb
时间:
2014-06-24 09:46
标题:
如何快速循环?
文件内容如下:
ABC|BC|C|AC|AB|AC|
如何快速高效的拆分,排列成如下格式?
CCCCBC
BCCCBC
ACCCBC
CBCCBC
BBCCBC
ABCCBC
CCCABC
BCCABC
ACCABC
CBCABC
BBCABC
ABCABC
CCCCAC
BCCCAC
ACCCAC
CBCCAC
BBCCAC
ABCCAC
CCCAAC
BCCAAC
ACCAAC
CBCAAC
BBCAAC
ABCAAC
CCCCBA
BCCCBA
ACCCBA
CBCCBA
BBCCBA
ABCCBA
CCCABA
BCCABA
ACCABA
CBCABA
BBCABA
ABCABA
CCCCAA
BCCCAA
ACCCAA
CBCCAA
BBCCAA
ABCCAA
CCCAAA
BCCAAA
ACCAAA
CBCAAA
BBCAAA
ABCAAA
作者:
dn833
时间:
2014-06-24 09:47
求楼下大仙解释
作者:
yestreenstars
时间:
2014-06-24 09:52
求楼下大仙解释
作者:
关阴月飞
时间:
2014-06-24 09:55
本帖最后由 关阴月飞 于 2014-06-24 10:28 编辑
目测中........
已懂 !!!!
解答中......
没考虑顺序:
[root@ awktest]# eval echo $(awk -F '' 'NF>1{printf "{";for(i=0;i++<(NF);)printf i==NF?$i"}":$i",";next}{printf $0}' RS=\| <<<"ABC|BC|C|AC|AB|AC|") |xargs -n1
ABCAAA
ABCAAC
ABCABA
ABCABC
ABCCAA
ABCCAC
ABCCBA
ABCCBC
ACCAAA
ACCAAC
ACCABA
ACCABC
ACCCAA
ACCCAC
ACCCBA
ACCCBC
BBCAAA
BBCAAC
BBCABA
BBCABC
BBCCAA
BBCCAC
BBCCBA
BBCCBC
BCCAAA
BCCAAC
BCCABA
BCCABC
BCCCAA
BCCCAC
BCCCBA
BCCCBC
CBCAAA
CBCAAC
CBCABA
CBCABC
CBCCAA
CBCCAC
CBCCBA
CBCCBC
CCCAAA
CCCAAC
CCCABA
CCCABC
CCCCAA
CCCCAC
CCCCBA
CCCCBC
复制代码
作者:
expert1
时间:
2014-06-24 09:59
小手一抖,2分到手,今晚赌资又有了。
此外,那么多学生物信息的,怎么编程都不会呢?
作者:
q1208c
时间:
2014-06-24 10:11
回复
4#
关阴月飞
我怎么觉得跟昨天那个差不多呢.
作者:
关阴月飞
时间:
2014-06-24 10:13
回复
6#
q1208c
就是一样的呀,排队组合
作者:
yestreenstars
时间:
2014-06-24 10:16
回复
7#
关阴月飞
排队组合,学习了~{:2_172:}
作者:
q1208c
时间:
2014-06-24 10:17
回复
7#
关阴月飞
小手一抖, 有分到手.
作者:
jason680
时间:
2014-06-24 10:29
回复
1#
cfzxwxb
$ echo {C,B,A}{C,B}C{C,A}{B,A}{C,A} | tr ' ' '\n'
作者:
cfzxwxb
时间:
2014-06-24 10:45
大仙永远都在10楼!
作者:
send_linux
时间:
2014-06-24 10:48
expert1 发表于 2014-06-24 09:59
小手一抖,2分到手,今晚赌资又有了。
此外,那么多学生物信息的,怎么编 ...
学生物信息的,要看是什么方面为主啊,
有的是生物为主的,有的计算机出生的,还有数学出生的啊,还有物理的也有的
作者:
seesea2517
时间:
2014-06-24 11:18
这就是什么密啶的那东西嘛?或是叫什么碱基对?求科普啊
作者:
shou55
时间:
2014-06-24 11:28
确实和昨天的一个帖子方法一样
作者:
cfzxwxb
时间:
2014-06-24 18:50
10楼牛人,如果这样,怎么写?
ABC|BC|C|C|C|B|A|AC|AB|AC|
作者:
关阴月飞
时间:
2014-06-24 19:35
回复
15#
cfzxwxb
把落单的分散开来,打一枪换一个地方:
ABC|BC|C|C|C|B|A|AC|AB|AC|
===>
echo {ABC}C{BC}C{AC}C{AB}B{AC}A
作者:
cfzxwxb
时间:
2014-06-24 20:24
10楼的才是真老大,15楼的要向10楼学习!
10楼老大,我真的服了你了,我9分多钟的活,让你21秒就给我完成了,我对你真的佩服的五体投地啊!
高,实在是高!!!!!
作者:
cfzxwxb
时间:
2014-06-25 13:37
哪位高手还有比10楼更高效的??帮助一下!展示一下!
作者:
cfzxwxb
时间:
2014-06-25 13:39
a="{A,B,C}C{B,C}A{A,B,C}"
echo $a
运行结果如下:
{A,B,C}C{B,C}A{A,B,C}
为什么?怎么不是循环数据?
作者:
jason680
时间:
2014-06-25 13:49
回复
19#
cfzxwxb
$ A=`echo {A,B}{X,Y}`
$ echo $A
AX AY BX BY
作者:
用户名注册后不能更改
时间:
2014-06-25 14:05
回复
19#
cfzxwxb
921 13:59:41 root@localhost:/dev/shm # a={A,B}{X,Y}
922 13:59:50 root@localhost:/dev/shm # echo $a
{A,B}{X,Y}
923 13:59:53 root@localhost:/dev/shm # eval !!
eval echo $a
AX AY BX BY
924 13:59:58 root@localhost:/dev/shm #
复制代码
作者:
expert1
时间:
2014-06-25 14:09
作者:
pitonas
时间:
2014-06-25 15:06
{:2_172:}向10楼学习!
作者:
jgrlj322
时间:
2014-06-25 17:43
大拇指,刚看了一下,确实不一样。赞
回复
10#
jason680
作者:
Vsky_man
时间:
2014-06-25 18:17
10楼的顺序和给定的不一样啊
作者:
cfzxwxb
时间:
2014-06-25 23:12
看了一下,还没有更高的高手出现,那现在确定10楼大侠jason680是这个帖子里的最高手了!!
作者:
yinyuemi
时间:
2014-06-26 09:48
回复
1#
cfzxwxb
BEGIN{
str="ABC|BC|C|AC|AB|AC|"
L=split(str,a,"|");
spl(a[1],1,c,1)
}
function spl(s,n,m,y){
if(n==L){print m;}
else{
k=m;
for(j=1;j<=split(s,t,"");j++){
y=j;
spl(a[n+1],n+1,m t[j],y);
j=y;
}
m=k
}
}
awk -f f.awk
ABCAAA
ABCAAC
ABCABA
ABCABC
ABCCAA
ABCCAC
ABCCBA
ABCCBC
ACCAAA
ACCAAC
ACCABA
ACCABC
ACCCAA
ACCCAC
ACCCBA
ACCCBC
BBCAAA
BBCAAC
BBCABA
BBCABC
BBCCAA
BBCCAC
BBCCBA
BBCCBC
BCCAAA
BCCAAC
BCCABA
BCCABC
BCCCAA
BCCCAC
BCCCBA
BCCCBC
CBCAAA
CBCAAC
CBCABA
CBCABC
CBCCAA
CBCCAC
CBCCBA
CBCCBC
CCCAAA
CCCAAC
CCCABA
CCCABC
CCCCAA
CCCCAC
CCCCBA
CCCCBC
复制代码
作者:
cfzxwxb
时间:
2024-03-19 13:06
论坛需要加3个好友才能发帖子。终于可以发帖子了。感谢10楼大虾。其他楼层或许更厉害,没有测试,觉得10楼就很快了。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2