怎样用sort 命令以 GPA作为关键字排序文件 Linux可以使用ls命令实现这一功能。
ls命令是一个非常有用的查看文件与目录的命令,list之意,它的参数非常多。
ls命令默认是按照文件名的字母的顺序打印出当前目录的文件及文件夹。
加上-S参数,就可以根据文件的大小进行排序,默认是从大到小的顺序。
在此基础上加上参数-r变成-Sr,就可以一自小到大的顺序打印出文件。
一般打印文件时,会加上-l参数,编程-lSr,打印出文件的详细信息,这样就能明确地看到,打印出的文件的大小是从小到大递增的。
linux sort命令 算法man sort中关于它的描述是
sort - sort lines of text files
所以,它默认是以文本排序的。
但是它又有其它参数
-b, --ignore-leading-blanks
ignore leading blanks
-d, --dictionary-order
consider only blanks and alphanumeric characters
-f, --ignore-case
fold lower case to upper case characters
-g, --general-numeric-sort
pare ording to general numerical value
-i, --ignore-nonprinting
consider only printable characters
-M, --month-sort
pare (unknown) < ‘JAN’ < ... < ‘DEC’
-n, --numeric-sort
pare ording to string numerical value
-r, --reverse
reverse the result parisons
可以忽略前置的空格、或指定顺序字典、或忽略大小写、或以正常的数字形式、或忽略不可打印字符、或以月份(包括英语的月份)、或以字符形式的数字、或以倒序形式排序。
linux中文件过滤处理命令sort、uniq指令的操作。sort命令用来排序,uniq用来统计,两个命令一般结合着用 如统计IP地址数据stat -an|grep 80|grep 'EST'|awk '{print $5}'|cut -d: -f 1|sort|uniq -c 1 120.36.142.115 4 180.168.25.30
linux中sort命令的简单用方法?
Sort命令的功能是对文件中的各行进行排序。
Sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。
实际上,Sort命令可以被认为是一个非常强大的数据管理工具,用来管理内容类似数据库记录的文件。
Sort命令将逐行对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这两行的下一字符,如果还相同,将继续进行比较。
语法:
Sort [选项] 文件
说明:Sort命令对指定文件中所有的行进行排序,并将结果显示在标准输出上。
如不指定输入文件或使用"- ",则表示排序内容来自标准输入。
Sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。
排序关键字定义了用来排序的最小的字符序列。
缺省情况下以整行为关键字按ASCII字符顺序进行排序。
改变缺省设置的选项主要有:
- m 若给定文件已排好序,合并文件。
- c 检查给定文件是否已排好序,如果它们没有都排好序,则打印一个出错信息,并以状态值1退出。
- u 对排序后认为相同的行只留其中一行。
- o 输出文件 将排序输出写到输出文件中而不是标准输出,如果输出文件是输入文件之一,Sort先将该文件的内容写入一个临时文件,然后再排序和写输出结果。
改变缺省排序规则的选项主要有:
- d 按字典顺序排序,比较时仅字母、数字、空格和制表符有意义。
- f 将小写字母与大写字母同等对待。
- I 忽略非打印字符。
- M 作为月份比较:"JAN"
- r 按逆序输出排序结果。
+posl - pos2 指定一个或几个字段作为排序关键字,字段位置从posl开始,到pos2为止(包括posl,不包括pos2)。
如不指定pos2,则关键字为从posl到行尾。
字段和字符的位置从0开始。
- b 在每行中寻找排序关键字时忽略前导的空白(空格和制表符)。
- t separator 指定字符separator作为字段分隔符。
下面通过几个例子来讲述Sort的使用。
用Sort命令对text文件中各行排序后输出其结果。
请注意,在原文件的第二、三行上的第一个单词完全相同,该命令将从它们的第二个单词vegetables与fruit的首字符处继续进行比较。
$ cat text
vegetable soup
fresh vegetables
fresh fruit
lowfat milk
$ Sort text
fresh fruit
fresh vegetables
lowfat milk
vegetable soup
用户可以保存排序后的文件内容,或把排序后的文件内容输出至打印机。
下例中用户把排序后的文件内容保存到名为result的文件中。
$ Sort text>result
以第2个字段作为排序关键字对文件example的内容进行排序。
$ Sort +1-2 example
对于file1和file2文件内容反向排序,结果放在outfile中,利用第2个字段的第一个字符作为排序关键字。
$ Sort -r -o outfile +1.0 -1.1 example
Sort排序常用于在管道中与其他命令连用,组合完成比较复杂的功能,如利用管道将当前工作目录中的文件送给Sort进行排序,排序关键字是第6个至第8个字段。
$ ls - l | Sort +5 - 7
$ ps -e -o "m pid time"|Sort -d //按mand的首字母的字母顺序排序
Sort命令也可以对标准输入进行操作。
例如,如果您想把几个文件文本行合并,并对合并后的文本行进行排序,您可以首先用命令cat把多个文件合并,然后用管道操作把合并后的文本行输入给命令Sort,Sort命令将输出这些合并及排序后的文本行。
在下面的例子中,文件veglist与文件 fruitlist的文本行经过合并与排序后被保存到文件clist中。
本文来自“Qi9电脑知识网”
linux文件行排序去重结果不同sort和uniquniq命令的帮助:
-u, --unique:only print unique lines
第一个方法中,你加上-u选项导致了uniq只输出唯一存在的行,有重复的行被过滤掉了
所以,问题出在你的地一种方法上
解决方法:uniq中不适用-u选项
linux系统下,按文件的大小进行排序的命令从大到小排序是:ls -S /
从小到大排就加个-r: ls -Sr /
包括隐藏文件就是:ls -aSr /
ls -l 是长格式显示
ls -a 是包含隐藏文件
所以一般使用ls -la
————————————————
不可以,sort是处理数据流的,一般以行为单位,把每行按某种条件排列
如字母顺序、数字大小
它可以排列从文件内读取的数据
ls | sort 这个命令排列的也仅是文件名而已