Shell基础之-sort命令

sort 对文件排序的工具

首先,大家如果看到有什么不懂的地方,欢迎吐槽!!!
我会在当天或者第二天及时回复,并且改进~~


     sort将输入文件看做由多条记录组成的数据流,而记录由可变宽的字段组成,以换行符作为定界符
   sort [option] file

sort命令选项及其意义

   -c    #测试文件是否已经被排序
   -k    #指定排序的域
   -m    #合并两个已排序的文件
   -n    #根据数字大小进行排序
   -o  [输出文件]  #将输出写到指定的文件,相当于将输出重定向到指定文件
   -r    #将排序结果逆向显示
   -t    #改变域分隔符
   -u    #去除结果中的重复行

sort命令示例:

使用域分隔符:对test文件进行排序
   sort -t: test

按第3域对test文件进行排序
   sort -t: -k3 test  

按第3域对test文件进行排序,价格从小到大
   sort -t: -k3n test

按第3域对test文件进行排序,价格从大到小
   sort -t: -k3nr test

将test文件中重复的行去掉
   sort -t: -u test
   cat test | sort | uniq 

将排序后的内容不输出到屏幕,直接保存于文件中
   sort -t: -k3n -o xx test
   sort -t: -k3n test > xx

检测文件是否已经排序好
   如果是已经排序好的文件,检测则需要指定sort是如何排序的
   sort -c -t: -k3n xx

将111和222两个已经排好序的文件放在一起
   sort -m 111 222

sort和awk的联合用法

J Luo
Southeast University
Nanjing,China

Y Zhang
Victory University
Melbourne,Australia

D Hou
Beijing University
Beijing,China

B Liu
Shanghai Jiaotong University
Shanghai,China

C Lin
University of Toronto
Toronto,Canada

将这个替换为下面字符

B Liu
Shanghai Jiaotong University
Shanghai,China

C Lin
University of Toronto
Toronto,Canada

D Hou
Beijing University
Beijing,China

J Luo
Southeast University
Nanjing,China

Y Zhang
Victory University
Melbourne,Australia

awk -v  RS="" '{gsub("\n","@");print}' qq | sort | awk -v ORS="\n\n" '{gsub("@","\n");print}'
时间: 2024-10-03 06:53:45

Shell基础之-sort命令的相关文章

Shell基础之-awk命令

Shell基础之-awk命令 首先,大家如果看到有什么不懂的地方,欢迎吐槽!!! 我会在当天或者第二天及时回复,并且改进~~ awk编程 awk是一种编程语言.gawk.是最新版本,当前的linux版本用的都是gawk awk是gawk的软链接 awk工作原理 BEGIN #在未读取文件行之前执行 主输入循环 (main input loop),反复执行,直到终止条件触发 END #在读取文件行完毕后执行 1.在shell命令行输入命令调用awk #awk [-f 域分隔符] 'awk cmd'

Shell基础之-cut命令

Shell基础之-Cut命令 首先,大家如果看到有什么不懂的地方,欢迎吐槽!!! 我会在当天或者第二天及时回复,并且改进~~ cut命令用于从标准输入文件或文本文件中按域或行提取文本 cut [option] file cut命令选项及其意义 -c #指定提取的字符数或字符范围 -f #指定提取的域数或域范围 -d #改变域分隔符 cut -c后跟数字表示字符数或字符范围,共有三种表示方式 -cn 表示第n个字符 -cn-m 表示n-m个字符 -cn,m 表示n.m两个字符 cut -f后跟数字

Shell基础之-sed命令

Shell基础之-sed命令 首先,大家如果看到有什么不懂的地方,欢迎吐槽!!! 我会在当天或者第二天及时回复,并且改进~~ sed 是一个非交互式文本编辑器,它可对文本文件和标准输入进行编辑 sed只是对缓冲区中原始文件的副本进行编辑,并不编辑原始的文件 sed命令调用的三种方式 1.在shell命令行输出命令调用sed sed [option] 'sed cmd' file 2.将sed命令插入脚本 sed [option] -f 'sed.sh' file vi sed.sh sed要调用

HBase shell基础和常用命令详解

http://www.aliyun.com/zixun/aggregation/13713.html">HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务. 1. 简介 HBase是一个分布式的.面向列的

Shell基础之-uniq命令

uniq 命令用于去除文本文件中的重复行 首先,大家如果看到有什么不懂的地方,欢迎吐槽!!! 我会在当天或者第二天及时回复,并且改进~~ 查看sort和uniq去除重复行的区别 sort -t: -k7 -u /etc/passwd //去除passwd文件中域7重复的行 cat /etc/passwd | uniq //去除passwd文件中域7重复的行 区别1: sort 可以对指定的域进行排序并且去除重复行 uniq 则不可以对某个相同的域进行去除,只能去除记录相同的行 区别2: sort

hbase shell基础和常用命令详解_linux shell

HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务. 1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase

Shell基础之-tr命令

tr命令 首先,大家如果看到有什么不懂的地方,欢迎吐槽!!! 我会在当天或者第二天及时回复,并且改进~~ tr命令实现字符转换功能,其功能类似于sed命令,但是,tr命令比sed命令简单,也就是说,tr命令能实现的功能,sed命令都可以实现 tr [option] charset1 chatset2 < 输入文件 tr命令选项及其意义 -c #选定字符串1中字符集的补集,即反选字符串1中的字符集 -d #删除字符串1中出现的所有字符 -s #删除所有重复出现的字符序列,只保留一个 tr命令示例:

Shell基础之-paste命令

Paste命令 首先,大家如果看到有什么不懂的地方,欢迎吐槽!!! 我会在当天或者第二天及时回复,并且改进~~ paste命令用于将文本文件或标准输出中的内容粘贴到新的文件,他可以将来自不同文件的数据粘贴到一起,形成新文件 paste [option] file1 file2 paste命令选项及其意义 -d #默认域分隔符是空格或tab键,设置新的域分隔符 -s #将每个文件粘贴成一行 - #从标准输入中读取数据 paste命令示例: 将文件name和age(年龄)合并在一起,(粘贴name和

Shell基础之-grep命令

grep命令 首先,大家如果看到有什么不懂的地方,欢迎吐槽!!! 我会在当天或者第二天及时回复,并且改进~~ grep 一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来 grep [option] [mode] [file] -c #只输出匹配行的数量 -i #搜索时忽略大小写 -h #查询多文件时不显示文件名 -l #只列出符合匹配的文件名,而不列出具体的匹配行 -n #列出所有的匹配行,并显示行号 -s #不显示不存在或无匹配文本的错误信息 -v #显示不包含匹配文本