sort指令

2023-10-30

1、sort的定义:
sort将文件的每一行作为一个单位相互比较,比较原则是从首字符向后依次按ASCII码进行比较,最后将它们按升序输出。
【例】
这里写图片描述

2、选项
(1)-u:在输出行中排序并去除重复行。
【例】
这里写图片描述

(2)-r:逆序排序。
说明:sort默认的排序方式是升序的,如果想改成降序,就需要加个-r。
【例】
这里写图片描述

(3)-o:将排序结果写入文件中。
说明:由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile。但是,如果你想把排序结果输出到原文件中,用重定向就不行了。
【例】
这里写图片描述

(4)-n:按数值排序。
说明:如果按字符排序,当10与2比较时,排序程序会先比较1和2,这样就会出现10放在2前面的情况。所以,最好指明排序的方式。
【例】
这里写图片描述

(5)sort的-t选项和-k选项:
1)命令格式:sort -t ‘分隔符’ -k ‘指定列数’
【例】
这里写图片描述
说明:这个文件有三列,列和列之间用冒号隔开,第一列表示食物类型,第二列表示食物数量,第三列表示食物价格。

(6)其他sort常用选项
1)-f:将小写字母都转换成大写字母来进行比较,亦即忽略大小写。
2)-c:检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1。
3)-C:检查文件是否已排好序,如果乱序不输出内容,仅返回1。
4)-M:以月份来排序。
5)-b:忽略每一行前面的所有空白部分,从第一个可见字符开始比较。

3、练习:
file6内容:公司名称 公司人数 人均薪资
google 111000 15000
baidu 100000 10000
guge 8000 7500
sohu 90000 10000

(1)按第一个域进行排序
这里写图片描述

(2)按公司人数降数排序
这里写图片描述

(3)按照公司员工薪资排序,薪资相同的按照公司员工数量升序排序。
这里写图片描述

(4)从公司英文名称的第二个字母开始进行排序
这里写图片描述
释:“-k 1.2”表示对第一个域的第二个字符开始到本域的最后一个字符为止的字符串进行排序。其中,baidu因为第二个字母是a而名列榜首;sohu和google第二个字符都是o,但是sohu的h在google的o前面,所以sohu排在第二行,google排在第三行;guge就只能排在第四行了。

(5)只针对公司英文名称的第二个字母进行排序,如果相同则只按照员工工资进行降序排序。
这里写图片描述
释:“-k 1.2,1.2”表示只对第二个字母进行排序。“-k 1.2”因为省略了end部分,就意味着从第二个字母开始到最后一个字符为止的字符串进行排序。对于员工工资进行排序,使用“-k 3,3”这是最准确的表述,表示只对本域进行排序,如果省略了后面的3,就变成对第3个域开始到最后一个域位置的内容进行排序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sort指令 的相关文章

  • 如何指定配置脚本的包含目录

    我的工作场所有一个 Linux 系统 其中包含相当旧的软件包 并且没有 root 访问权限 我正在从源代码编译我需要的包 prefix somewhere in homedir 我的问题是我只是不知道如何说服配置在特定目录中查找头文件 源码
  • 如何通过不同的接口路由 TCP/IP 响应?

    我有两台机器 每台机器都有两个有效的网络接口 一个以太网接口eth0和 tun tap 接口gr0 目标是使用接口在机器 A 上启动 TCP 连接gr0但然后让机器 B 的响应 ACK 等 通过以太网接口返回 eth0 因此 机器 A 发出
  • 如何在 bash_profile 文件中添加导出语句?

    我正在尝试了解是否必须添加导出语句来在 bash profile 文件中设置变量 我该怎么做呢 例如 如果我必须添加 export AX name 那么我应该将其简单地写在文件末尾还是我还需要编写其他内容 简单写一下export AS na
  • 打印本周星期一的日期(在 bash 中)

    我想获取本周星期一的 YYYYMMdd 格式的日期 例如 今天是 20110627 从明天到周日 我仍然想打印周一 今天 的日期 然后下周重复这个过程 monday date dmonday Y m d last monday date d
  • 在 vimrc 中切换匹配

    我的 vimrc 文件中有以下几行 hi ExtraWhitespace cterm NONE ctermbg green ctermfg green guibg green guifg green match ExtraWhitespac
  • Linux >2.6.33:可以使用 sendfile() 来实现更快的“猫”吗?

    必须将大量大文件连接成一个更大的单个文件 我们目前使用 cat file1 file2 output file but are wondering whether it could be done faster than with that
  • 如何将命令输出作为多个参数传递给另一个命令

    我想将命令的每个输出作为多个参数传递给第二个命令 例如 grep pattern input returns file1 file2 file3 我想复制这些输出 例如 cp file1 file1 bac cp file2 file2 b
  • Linux 中有没有一种轻量级的方法来获取当前进程数?

    我希望我的 基于 C C 的 程序显示一个数字指示器 指示本地系统上当前有多少个进程 将经常查询正在运行的进程数值 例如每秒一次 以更新我的显示 有没有一种轻量级的方法来获取该数字 显然我可以调用 ps ax wc l 但我不想强迫计算机生
  • Linux 中的 Windows NAmed Pipes 替代品

    我们正在将现有的 Windows 代码移植到 Linux 我们使用 ACE 作为抽象层 我们使用 Windows 命名管道与多个客户端进行通信并执行重叠操作 linux 下这个相当于什么 我检查了linux命名管道 FIFO 但它们似乎只支
  • 点击界面没有出现

    我决定添加一个点击界面并在我的代码中使用它 但我能够得到它的状态 sudo ip f link tuntap add tap10 mode tap sudo ip link set tap10 up 之后当我执行 ip link 时 tap
  • 打印 STDOUT/STDERR 并将它们写入 Bash 中的文件?

    有没有办法让 Bash 将 STDOUT STDERR 重定向到文件 但仍然将它们打印到终端 这会将 STDOUT 和 STDERR 重定向到同一个文件 some command 2 gt 1 tee file log Example to
  • 如何使用 PyAudio 选择特定的输入设备

    通过 PyAudio 录制音频时 如何指定要使用的确切输入设备 我的电脑有两个麦克风 一个内置 一个通过 USB 我想使用 USB 麦克风进行录音 这流类 https people csail mit edu hubert pyaudio
  • 如何在C程序中直接改变显存映射来绘制像素(无需库函数)

    是否可以通过使用 C 程序更改 RAM 中屏幕 视频即监视器 内存映射中的值来显示黑点 我不想使用任何库函数 因为我的主要目标是学习如何开发简单的操作系统 我尝试访问起始屏幕内存映射 即 0xA0000 在 C 中 我尝试运行该程序 但由于
  • 重新链接匿名(未链接但打开)文件

    在 Unix 中 可以创建匿名文件的句柄 例如 使用 creat 创建并打开它 然后使用 unlink 删除目录链接 留下一个带有 inode 和存储的文件 但没有可能的方法重新打开它 此类文件通常用作临时文件 通常这就是 tmpfile
  • tar.gz 和 tgz 是同一个东西吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我创建了 tgz 文件tar czvf filecommand then 我最终得到了一个 tgz 文件 我想知道它和tar gz 之间的
  • 即使使用 rvm pkg install zlib 后也无法加载此类文件 -- zlib

    我使用 rvm 安装了 zlib 包和 ruby 1 9 3 但是每当我尝试安装时 它说宝石cannot load such file zlib 我用来安装的命令是 rvm install 1 9 3 rvm pkg install zli
  • 期待、互动,然后再次期待

    有几篇关于相同内容的帖子 但我仍然无法使我的期望脚本正常工作 我的目的是自动化一切 但保留用户输入的密码 所以脚本有 3 个部分 自动登录 给予用户交互以输入密码 将控制权交还给 Expect 脚本以继续工作 所以我有一个将生成的脚本 其中
  • C# - OPC-UA 服务器应用程序尚未在 Linux 计算机中创建 PKI 证书

    当我跑步时OPC UA serverWindows 机器中的 C 应用程序 然后 OPC UA 服务器已创建证书路径C ProgramData OPC Foundation pki own 并在此路径中生成一些证书 但是当我在中安装 OPC
  • 为什么“script”命令会生成 ^[ 和 ^M 字符以及如何使用 vim 搜索和替换删除它们?

    在linux上 使用bash shell 当我使用script命令时 生成的文件称为typescript 当我用 vim 打开该文件时 每一行都包含 M字符 并且有几行 由于我的彩色命令提示符 包含一个字符 我想用任何东西替换这些字符 从而
  • 有没有办法只安装mysql客户端(Linux)? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有不需要安装整个mysql db安装包的Linux mysql命令行工具 我想做的是从服务器 1 应用程序服务器 执行将在服务器 2

随机推荐

  • thinkphp 用七牛云异步上传文件(前后端代码)

    1 首先创建一个七牛云帐号 完成后 添加对象存储 2 创建成功后 右上角 密钥管理 查看秘钥 找到AK SK 3 打开thinkphp的配置文件 将此代码加入 CONFIG QINIU gt array accessKey gt 你的AK
  • ARouter 使用教程,移动互联网开发工程师

    setContentView R layout activity one 第二步 调用 navigation 方法实现跳转 ARouter getInstance build ARouterConstants COM ACTIVITY1 n
  • whl文件安装库和pip换源

    作者介绍 作者 小刘在C站 每天分享课堂笔记 一起努力 共赴美好人生 夕阳下 是最美的绽放 目录 一 whell介绍 二 whell实现方式 三 whell安装实现 方式一 方式二 步骤1 步骤3 pip的换源 一 pip为什么要换源 二
  • 成功升级scikit-image的版本,从老版本0.13.0到0.17.2

    成功升级scikit image的版本 从老版本0 13 0到0 17 2 之前参考其他博客升级scikit image的版本没有成功 这次参考scikit image的github官网 顺利实现了升级 scikit image的githu
  • 线程和线程的创建

    一 线程的概念 1 实例 系统通过传感器采集数据 并通过显示屏将数据显示出来 在多线程实时系统中 可以将这个任务分解成两个子任务 如上图所示 一个子任务不间断地读取传感器数据 并将数据写到共享内存中 另外一个子任务周期性的从共享内存中读取数
  • [Mysql] 经典 50 题

    50道MySql练习题 本文档只有45道 流传自远古 相当经典 这套练习在多样性和难度上平衡的比较好 换句话说 基础sql查询练习有这套就够了 这套练习在互联网上存在时间悠久 有很多版本 本文档力图在可读性 规范性 可操作性上比这些版本做的
  • 一贴看懂UML,不再发愁看不懂设计模式

    在UML类图中 常见的有以下几种关系 泛化 Generalization 实现 Realization 关联 Association 聚合 Aggregation 组合 Composition 依赖 Dependency 1 泛化 Gene
  • java学习笔记——springmvc 之 @RequestMapping映射与RESTful、请求数据传入 与 响应数据传出、@ModelAttribute 与 视图解析

    一 SpringMVC 概述 1 SpringMVC 概述 Spring 为展现层提供的基于 MVC 设计理念的优秀的 Web 框架 是目前最主流的 MVC 框架之一 Spring3 0 后全面超越 Struts2 成为最优秀的 MVC 框
  • C++中将构造函数或析构函数定义为private

    今天面试被问到了这个单例模式常用到的技术手段 下面进行分析 很多情况下要求当前的程序中只有一个object 例如一个程序只有一个和数据库的连接 只有一个鼠标的object 通常我们都将构造函数的声明置于public区段 假如我们将其放入pr
  • SQL中DML 语句基本增删改以及创建表结构

    SQL 的分类 DDL 创建create 删drop 改alter DML 增insert 删delete 改update DCL 数据控制语言 赋权 grant revoke DQL 查询 select等 TCL 事务控制语言 提交com
  • TDD:第一次真正使用TDD的感受

    TDD测试流程 先写测试 后写代码 进行重构 TDD原则 一次只测试一个类 一次只测试一个功能 TDD优势 强迫你做出松散耦合的设计 强迫你站在用户的角度思考问题 作为负效果 你拥有了自动化测试 测试可以作为文档使用
  • 【华为OD机试】最多等和不相交连续子序(python, java, c++, js)

    最多等和不相交连续子序 前言 本专栏将持续更新互联网大厂机试真题 并进行详细的分析与解答 包含完整的代码实现 希望可以帮助到正在努力的你 关于大厂机试流程 面经 面试指导等 如有任何疑问 欢迎联系我 wechat steven moda e
  • 量化投资学习-18:切换思考问题的立场与视角,与庄家共赢共舞,是散户真正转变的开始

    一个人 视角不同 同一现象 得到的结论也是不相同的 一个人 视角不同 看到的大局观也是不一样的 散户由于自身角色是散户 大部分散户自然而然的把自己放到了散户的角色上 把自己放到了庄家的对立面 于是 散户自己看到自己周边的世界 于是散户的视角
  • UNIX环境高级编程 学习笔记 第三章 文件I/O

    UNIX系统大多数文件IO只用open read write lseek close函数 不带缓冲的IO指每个read和write都调用内核中的一个系统调用 不带缓冲的IO不是ISO C的组成部分 但它是POSIX 1和SUS 是POSIX
  • 小程序获取当前进页面的来源

    前言 小程序获取当前进页面的来源 wx getLaunchOptionsSync 官方资料 wx getLaunchOptionsSync 获取小程序启动时的参数 与 App onLaunch 的回调参数一致 启动参数 更多参数信息 请点击
  • 【国赛LaTeX】数学建模国赛LaTex模板(完全免费)

    全国大学生数学建模竞赛 高教社杯 创办于1992年 每年一届 是首批列入 高校学科竞赛排行榜 的19项竞赛之一 2019年 来自全国及美国和马来西亚的1490所院校 校区 42992队 本科39293队 专科3699队 近13万人报名参赛
  • python可以走的路线_怎样的Python学习路线比较好?

    1 弄清楚你的动机是什么 在开始深入学习Python在线之前 值得问问自己为什么要学习它 这是因为这将是一个漫长而有时痛苦的旅程 没有足够的动力 你可能无法完成 找出激励你的动力将帮助你找到一个最终目标 一条让你无所畏惧的道路 您不必弄清楚
  • 【办公类-16-06】20230901大班运动场地分配表-斜线排列、5天循环、不跳节日,手动修改节日”(python 排班表系列)

    背景需求 大班组长发来一个 运动排班 的需求表 就是和去年一样的每个班的运动排班 就因为今年大班变成7个班 删掉一个场地 就要重新做一份 不然我就用去年的那份了 8个大班排班 拆了中8班 孩子被分流到其他7个大班 于是我拿出2023年2月的
  • 机械革命X6ti-s安装ubuntu16.04及独显驱动配置

    新入手的笔记本 显卡是GTX1050的 cup i7 6700的 安装ubuntu过程中遇到各种问题 例如进入不了安装u盘 我是用u盘安装的 开机和关机都会卡在log界面 显卡驱动不能正常安装等问题 下边的方法完美解决所有问题 不留隐患 屡
  • sort指令

    1 sort的定义 sort将文件的每一行作为一个单位相互比较 比较原则是从首字符向后依次按ASCII码进行比较 最后将它们按升序输出 例 2 选项 1 u 在输出行中排序并去除重复行 例 2 r 逆序排序 说明 sort默认的排序方式是升