[20231201]乱序输出.txt
[20231201]乱序输出.txt
--//测试需要生成seq -f "%06g" 300000的乱序输出,当时不知道bash shell如何实现,先通过oracle的sql语句建立乱序数字输出。
set pagesize 0
spool aa.txt
select lpad(level,6,'0') from dual connect by level <=3e5 order by dbms_random.value;
spool off
--//注意设置set pagesize 0,不然中间出现多次页头。注意保持aa.txt的备份,测试要重复多次。
--//有时间看了一些bash shell文档.
$ seq -f "%06g" 5 | xargs -IQ echo Q $RANDOM
000001 395
000002 395
000003 395
000004 395
000005 395
--//这样不行.找到一个链接https://www.cnblogs.com/cnhack/articles/17164650.html
--//使用awk,测试看看.
$ seq -f "%06g" 5 | awk '{print $1,rand()*1000000}' | sort -k2
000003 306394
000004 578941
000002 593909
000005 740133
000001 924046
$ seq -f "%06g" 5 | awk '{print $1,rand()*1000000}' | sort -k2
000003 306394
000004 578941
000002 593909
000005 740133
000001 924046
--//视乎awk的rand()伪随机,2次执行的结果一样的.加入srand()看看.
$ seq -f "%06g" 5 | awk 'BEGIN{srand()} {print $1,rand()*1000000}' | sort -k2
000002 614333
000003 75798.2
000001 763180
000005 791454
000004 826102
--//重复两次结果不一样.
$ seq -f "%06g" 5 | awk 'BEGIN{srand()} {print $1,rand()*1000000}' | sort -k2|awk '{print $1}'
000005
000001
000002
000004
000003
--//基本满足要求.不知道生成是否缓慢,因为如果执行seq -f "%06g" 300000,要调用rand() 3e5次呢?上班测试看看.
$ time seq -f "%06g" 300000 | awk 'BEGIN{srand()} {print $1,rand()*1000000}' | sort -k2|awk '{print $1}' > bb.txt
real 0m1.858s
user 0m2.081s
sys 0m0.055s
$ head bb.txt ;tail bb.txt
245798
253547
034048
204117
136765
206247
231163
134263
214472
152697
104588
167604
023122
013733
161220
155133
284947
259982
057430
096936
--//OK,满足需求。
--//测试需要生成seq -f "%06g" 300000的乱序输出,当时不知道bash shell如何实现,先通过oracle的sql语句建立乱序数字输出。
set pagesize 0
spool aa.txt
select lpad(level,6,'0') from dual connect by level <=3e5 order by dbms_random.value;
spool off
--//注意设置set pagesize 0,不然中间出现多次页头。注意保持aa.txt的备份,测试要重复多次。
--//有时间看了一些bash shell文档.
$ seq -f "%06g" 5 | xargs -IQ echo Q $RANDOM
000001 395
000002 395
000003 395
000004 395
000005 395
--//这样不行.找到一个链接https://www.cnblogs.com/cnhack/articles/17164650.html
--//使用awk,测试看看.
$ seq -f "%06g" 5 | awk '{print $1,rand()*1000000}' | sort -k2
000003 306394
000004 578941
000002 593909
000005 740133
000001 924046
$ seq -f "%06g" 5 | awk '{print $1,rand()*1000000}' | sort -k2
000003 306394
000004 578941
000002 593909
000005 740133
000001 924046
--//视乎awk的rand()伪随机,2次执行的结果一样的.加入srand()看看.
$ seq -f "%06g" 5 | awk 'BEGIN{srand()} {print $1,rand()*1000000}' | sort -k2
000002 614333
000003 75798.2
000001 763180
000005 791454
000004 826102
--//重复两次结果不一样.
$ seq -f "%06g" 5 | awk 'BEGIN{srand()} {print $1,rand()*1000000}' | sort -k2|awk '{print $1}'
000005
000001
000002
000004
000003
--//基本满足要求.不知道生成是否缓慢,因为如果执行seq -f "%06g" 300000,要调用rand() 3e5次呢?上班测试看看.
$ time seq -f "%06g" 300000 | awk 'BEGIN{srand()} {print $1,rand()*1000000}' | sort -k2|awk '{print $1}' > bb.txt
real 0m1.858s
user 0m2.081s
sys 0m0.055s
$ head bb.txt ;tail bb.txt
245798
253547
034048
204117
136765
206247
231163
134263
214472
152697
104588
167604
023122
013733
161220
155133
284947
259982
057430
096936
--//OK,满足需求。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2017-12-12 [20171211][转载]如何实现dbms_output输出没有打开serveroutput on.txt