位置: 编程技术 - 正文

批处理命令教学之字符串排序(sort)(批处理命令教程 pdf)

发布时间:2024-02-27

推荐整理分享批处理命令教学之字符串排序(sort)(批处理命令教程 pdf),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:批处理命令教程,批处理命令教程 pdf,批处理文件命令大全,批处理命令教程 pdf,批处理常用命令,批处理命令是什么语言,批处理常用命令,批处理常用命令,内容如对您有帮助,希望把文章链接给更多的朋友!

帮助信息:

命令概括:

sort,意为“以……排序”。

/r,全英文reverse,意为“颠倒”。/+n,还是number,意为“数字”。/m,全英文memory,意为“内存”。/l,全英文locale,意为“场所”,引申为“区域设置”。/rec,全英文record,意为“记录”。/t,全英文temporary,意为“临时的”。/o,全英文output,意为“输出”。

参数详解:

1.不带任何参数的sort命令

不带任何参数的sort命令,比较第一个字符的大小(字母不区分大小写),按“顺序排列”输出(a-z,0-9)。

例如:

ip.txt

利用sort进行排序。代码:

结果:和ip.txt一摸一样,因为ip.txt中的单词第一个字符顺序都是按“a-z”排列的。

2.利用sort,按单词的第二个字符顺序排列

同样对ip.txt进行处理。

代码:

效果:

这一次的排序是按照第二个字符的“顺序排列”(a-z)进行排列的。

结合1、2节不难看出,其实sort ip.txt 的效果等同于 sort /+1 ip.txt。

3.倒序排列

既然可以,自然可以。sort命令也可以倒序排列并输出。

①.通常的倒序方法(按字母倒序)代码:

效果:

②.特殊的倒序方法(按文本倒序,由Crlf版主友情提供)

代码:

效果:同第一种方法。

说明:

ip.txt中最长的单词是“refrigerator”,合计有个字母,这里sort 比较第个字母的大小,但是所有的单词都没有个字母(最长的才),此时按文本倒序排列。

所以只要你将/+n中,n的值设置的足够大,此时按文本倒序输出。

由于开篇的ip.txt内容没设置好,导致按字母倒序和按文本倒序产生了相同的结果,事实上这是两种完全不同的排序方法。按字母倒序是根据字母规则(a-z,0-9)进行倒序排列,按文本倒序是将最后一行文本作为第一行,第一行作为最后一行(简而言之就是文本行颠倒)。

例子(由Crlf版主友情提供):

test.bat:

批处理命令教学之字符串排序(sort)(批处理命令教程 pdf)

ip.txt:

结果:

4.将排序结果输出到文件

①.利用重定向符,将排序结果输出到文件代码:

效果:在当前文件夹中生成hello1.txt,内容为:

②.利用sort的/o参数,将排序结果输出到文件代码:

效果:在当前文件夹中生成hello2.txt,内容同hello1.txt。

两者的差别:

根据微软的机器翻译“指定输出文件比将同一文件作为标准输出重定向速度快”,也就是说/o参数比重定向符(>)快,这个不好实际测试,有这么个映象就可以了。

5.对/m,/t参数的一些说明

/m参数是用来指定参与排序的内存,换句话说就是“你分多少内存(单位kb)给sort命令排序”。

/t参数是用来指定缓存文件的目录,举个例子来说,我要处理8m的大文本,指定内存为kb,kb怎么装得下8m的文件?这时怎么办呢?——(按1m=kb算)先将kb装入内存,再将剩下的kb分次装入内存,缓存文件放在/t指定的目录中。

例如:

.txt是一个8m的文本(要做测试的同学,可以到网上下本小说)。代码:

说明:.txt是一本小说,用sort排序之后自然是“惨不忍睹”的,对于结果没有什么好说的,主要说说这行代码运行后产生的一些问题。

问题1.运行代码后,提出警告信息“警告: 做大量排序时使用重定向输出通常比直接指定输出文件名称来排序慢。”——这个前面说过了“/o参数比重定向符(>)快”。

问题2.运行代码后,在目录C:dcache中产生了一个以“srt”+进制随机数命名的.tmp文件,出现过几秒,后被系统删除(没用/t参数指定的目录时,默认缓存文件目录是%temp%)。

问题3.当我将/m指定的内存数kb变为kb(kb是sort命令默认的最小内存)时,竟然提示“没有足够的内存,无法完成排序。”

由问题引出的简单思考:

既然是简单思考,自然不会分析的太过深入。

问题1.如果说/o比重定向符(>)快,而且有时用重定向符(>)还会出现“警告”,那么完全可以舍弃重定向符(>),只要想输出排序结果就用/o参数。

问题2.缓存文件产生的原因是指定了内存的大小,不指定就不会出现,也就是说“不用/m参数就不会出现缓存文件,而不用/m参数,/t参数也没用”。

问题3.不指定用于排序的内存大小,就不会提示“内存不足”,那么不用/m参数不就好了。

总结:sort的/m,/t参数完全可以不用。估计这两个参数,是为了dos时代而准备的,现在的电脑内存——我这台“老爷机”都有1G的内存,实在想不出为了区区几十M的文件分配内存有什么意义。

6./rec参数(指定sort能处理的最大行)

这里的“最大行”,不是说文本中有多少行,而是说一行中最多可以含有多少字符数。

sort命令默认的文本最大行含有个字符(2的次幂),最多可以含有个字符。

这里设置了一个特殊的文本a.txt来加以说明。

a.txt中一共含有2行文本,每行文本含有个字符。

代码和结果:

没讲的内容,/l参数,这个是区域设置相关,我也没弄懂。

批处理命令教学之复合语句连接符(&、&&和||) 帮助信息:&[...]command1&command2用来分隔一个命令行中的多个命令。Cmd.exe运行第一个命令,然后运行第二个命令。&&[...]command1&&command2只有在符号&&前面的

批处理命令教学之管道符号(|) 管道符(|)的作用是将符号前的进程输出,当做符号后进程的输入。例如:有两条命令,dir/s/b/a和find".txt",第一条显示当前文件夹中的所有文件、文件

Windows7下获得System权限问题解决方法 Windows7下MS加强了权限的问题,但这个神秘的无处不在的system居然比administrator还大而又不能登录实在是让人不能理解,特别是很多的目录居然都要system的

标签: 批处理命令教程 pdf

本文链接地址:https://www.jiuchutong.com/biancheng/371686.html 转载请保留说明!

上一篇:批处理命令教学之more命令(批处理常用命令)

下一篇:批处理命令教学之复合语句连接符(&、&&和||)(批处理文件命令大全)

  • 增值税申报表如何打印
  • 一个月没有账务往来,现金日记账如何登记?
  • 一般纳税人企业所得税政策最新2023税率
  • 冲销以前年度营业外支出
  • 培训学校教具记在什么费用
  • 增值税普通发票几个点
  • 一般纳税人转登记为小规模纳税人
  • 营业执照年审后日期会变吗
  • 预收账款年底要确认收入吗
  • 承兑汇票兑现怎么填写
  • 出租车公司给车都上什么保险
  • 现金收取业务办理流程
  • 公司将我转到另外一家公司
  • 不动产拍卖税费怎么计算
  • 小规模纳税人变成一般纳税人的条件
  • 详解劳务报酬个人所得税应该怎么计算?
  • 营业外收入做多了怎么办
  • 旅游服务费和旅游费区别
  • 住宿业的配套服务有哪些
  • 企业合并以外
  • 银行抵押贷款结清后需要解押吗
  • 宝塔linux面板怎么安装
  • SwiftBTN.exe - SwiftBTN是什么进程 有啥作用
  • Linux下which、whereis、locate、find 区别
  • 获取当前位置被拒怎么办
  • 发票认证了但是没收到票怎么处理
  • PHP:zip_entry_compressedsize()的用法_Zip函数
  • 验签失败发票如何撤销
  • php getdate
  • php ajax json
  • 递延所得税资产借贷方向
  • 建账初期的库存商品录入
  • 机械干租和湿租的税率
  • 微信php开发教程
  • ChatDoctor本地部署应用的实战方案
  • vscode插件在哪
  • 商贸公司用什么名字最好
  • 发票取得取得售卡方公司开具的增值税专用发票
  • python怎么做gui
  • 结转销售成本的凭证需要附件吗
  • 筹建期的财务费用计入
  • php 用户
  • 旅游费怎么记账
  • 数据类型所占的字节
  • 土石方收据图片
  • 公司自有房产出租给员工如何处理
  • mysql语句性能优化
  • 哪些情况属于
  • 金税盘和报税盘一起用吗
  • 企业招待客户收入怎么算
  • 公司购买的车辆折旧年限
  • 刷信用卡的手续费一般是多少
  • 企业购买黄金该交什么税
  • 应纳税工资是应发还是实发
  • 管理费用里包括哪些费用
  • 公司无偿更换产品违法吗
  • 怎么接收电子承兑汇票
  • mysql启动时找不到mysqld.server
  • win8系统怎么设置无线网连接啊
  • 如何制作ubuntu系统盘
  • 安装centos6.6详细步骤
  • win7如何创建新桌面
  • 在对linux系统中dir
  • win8系统怎么设置无线网连接啊
  • win8怎么调整屏幕分辨率
  • 在linux系统中,用来存放各种配置文件的目录
  • easyui validatebox验证
  • js拖动图片
  • nodejs静态编译
  • node js php
  • unity ui图层
  • javascript自动化
  • javascript题
  • shell脚本获取文件指定内容
  • js行号显示的文字不一样
  • unity与android交互详细
  • python3多态
  • 广东地税局领导班子
  • 纳税申报的期限是多久
  • 5种方式教你如何查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号