当前位置: 首页 > news >正文

使用 sort 进行文本文件处理

sort 使用经验笔记

一、简介

sort 是一个命令行工具,用于对文本文件中的行进行排序。它广泛应用于 Unix/Linux 系统中,可以用来对文件的内容进行简单的排序操作,也可以与其他命令结合使用来完成更复杂的任务。

二、基本用法
  1. 排序文件:

    sort file.txt > sorted.txt
    

    这将对 file.txt 中的行进行排序,并将结果保存到 sorted.txt 文件中。

  2. 忽略大小写排序:

    sort -f file.txt > sorted.txt
    

    -f 选项使 sort 忽略大小写,即以不区分大小写的方式进行排序。

  3. 按照特定列排序:

    sort -k2 file.txt > sorted.txt
    

    -k2 指定按照第二列进行排序。

  4. 使用自定义分隔符:

    sort -t: -k2 file.txt > sorted.txt
    

    -t: 设置字段分隔符为冒号,-k2 表示按照第二列排序。

  5. 反向排序:

    sort -r file.txt > sorted.txt
    

    -r 选项使 sort 以逆序方式排序。

  6. 唯一化排序:

    sort -u file.txt > unique.txt
    

    -u 选项使 sort 删除重复行,并保留唯一的行。

  7. 合并多个文件:

    sort file1.txt file2.txt > merged_sorted.txt
    

    这将合并并排序 file1.txtfile2.txt 的内容。

  8. 排序数字:

    sort -n file.txt > sorted.txt
    

    -n 选项使 sort 按照数字进行排序。

  9. 排序并计数:

    sort file.txt | uniq -c
    

    这先对文件进行排序,然后使用 uniq -c 来统计每一行出现的次数。

三、高级用法
  1. 多列排序:

    sort -k1,1 -k2,2 file.txt > sorted.txt
    

    -k1,1 表示首先按照第一列排序,-k2,2 表示在第一列相同的情况下再按照第二列排序。

  2. 使用自定义排序规则:

    sort --dictionary-order file.txt > sorted.txt
    

    --dictionary-order 选项使 sort 按照字典顺序排序。

  3. 排序并输出到标准输出:

    sort file.txt
    

    直接在命令行中显示排序结果。

  4. 使用自定义排序文件:

    sort -C file.txt
    

    -C 选项指定一个排序文件,用于定义排序顺序。

  5. 使用自定义排序算法:

    sort --parallel=4 file.txt > sorted.txt
    

    --parallel=4 选项指定使用四个处理器核心进行排序,适用于大型文件。

四、应用场景
  1. 数据清洗:

    • 使用 sort 清洗数据,去除重复项或按照特定顺序排列数据。
  2. 数据汇总:

    • 结合 sortuniq 来汇总数据。
  3. 数据分析:

    • 在数据分析流程中使用 sort 来准备数据,便于进一步处理。
  4. 文件比较:

    • 使用 sort 对两个文件进行排序,然后使用 diff 来比较它们。
五、小结

sort 是一个非常有用的工具,可以用来对文本文件中的行进行排序。它不仅可以直接用于简单的排序任务,还可以与其他命令(如 uniq, grep, awk 等)结合使用来完成更复杂的文本处理任务。通过掌握 sort 的基本和高级用法,你可以更高效地处理和分析数据。

相关文章:

使用 sort 进行文本文件处理

sort 使用经验笔记 一、简介 sort 是一个命令行工具,用于对文本文件中的行进行排序。它广泛应用于 Unix/Linux 系统中,可以用来对文件的内容进行简单的排序操作,也可以与其他命令结合使用来完成更复杂的任务。 二、基本用法 排序文件: sor…...

HarmonyOS笔记4:从云数据库获取数据

移动应用获取数据的方式主要有: 1.从网络中获取数据接口API。 2.从华为云数据库获取云数据库的资源。 3.从移动终端直接获取本地的数据 在HarmonyOS笔记3中已经完成了方式一从网络中获取数据接口API的方式。在本篇笔记中,将讨论从云数据库中获取数据。 因…...

QT5生成独立运行的exe文件

目录 1 生成独立运行的exe文件1.1 设置工程Release版本可执行文件存储路径1.2 将工程编译成Release版本 2 使用QT5自带的windeployqt拷贝软件运行依赖项3 将程序打包成一个独立的可执行软件exe4 解决QT5 This application failed to start because no Qt platform plugin could…...

LabVIEW光纤水听器闭环系统

开发了一种利用LabVIEW软件开发的干涉型光纤水听器闭环工作点控制系统。该系统通过调节光源频率和非平衡干涉仪的光程差,实现了工作点的精确控制,从而提高系统的稳定性和检测精度,避免了使用压电陶瓷,使操作更加简便。 项目背景 …...

Shell——流程控制语句(if、case、for、while等)

在 Shell 编程中,流程控制语句用于控制脚本的执行顺序和逻辑。这些语句包括 if、case、for、while 等,它们的使用可以使脚本实现更复杂的逻辑。以下是它们的详细说明和语法结构: 1. if 语句 if 语句用于条件判断,执行符合条件的…...

【redis的大key问题】

在使用 Redis 的过程中,如果未能及时发现并处理 Big keys(下文称为“大Key”),可能会导致服务性能下降、用户体验变差,甚至引发大面积故障。 本文将介绍大Key产生的原因、其可能引发的问题及如何快速找出大Key并将其优…...

HighPoint SSD7749M2:128TB NVMe 存储卡实现28 GB/s高速传输

HighPoint Technologies推出了一款全新的SSD7749M2 RAID卡,能够在标准的桌面工作站中安装多达16个M.2 SSD,实现高达128TB的闪存存储。该卡通过PCIe Gen4 x16接口提供高达28 GB/s的顺序读写性能。这些令人瞩目的性能规格伴随着高昂的价格标签。 #### 技术…...

ARM 裸机与 Linux 驱动对比及 Linux 内核入门

目录 ARM裸机代码和驱动的区别 Linux系统组成 内核五大功能 设备驱动分类 内核类型 驱动模块 驱动模块示例 Makefile配置 命令 编码辅助工具 内核中的打印函数 printk 函数 修改打印级别 ​编辑 打印级别含义 驱动多文件编译 示例 模块传递参数 命令行传递参数…...

0101DNS TCP fallback on UDP query timeout disabled-redission-中间件

文章目录 1.问题描述2.临时解决方案 结语 1.问题描述 Springcloud 项目,微服务模块使用redission,启动报错 DNS TCP fallback on UDP query timeout disabled. Upgrade Netty to 4.1.105 or higher.相关软件版本如下 软件版本描述springboot2.7.18spr…...

位运算

x1010 原码&#xff1a;000...1010 &#xff08;一共32位&#xff09; 反码&#xff1a;111...0101 &#xff08;~x&#xff09; 补码&#xff1a;111...0110 &#xff08;反码1&#xff09;&#xff08;-x&#xff09; 1、n 的二进制表示中第 k 位是几 #include<iost…...

MemFire Cloud是否真的可以取代后端

近年来&#xff0c;随着前端技术的迅速发展&#xff0c;前端工程师们越来越多地开始思考一个问题&#xff1a;“我还能不能不依赖后端&#xff1f;” 这种想法并非空穴来风&#xff0c;尤其是随着像MemFire Cloud这样的工具出现&#xff0c;它不仅能让开发者在没有后端的情况下…...

数据结构(邓俊辉)学习笔记】优先级队列 06——完全二叉堆:批量建堆

文章目录 1. 自上而下的上滤&#xff1a;算法2. 自上而下的上滤&#xff1a;效率3. 自下而上的下滤&#xff1a;算法4. 自下而上的下滤&#xff1a;实例5. 自下而上的下滤&#xff1a;效率 1. 自上而下的上滤&#xff1a;算法 在介绍过完全二叉堆标准的静态和动态操作接口之后…...

Java | Leetcode Java题解之第344题反转字符串

题目&#xff1a; 题解&#xff1a; class Solution {public void reverseString(char[] s) {int n s.length;for (int left 0, right n - 1; left < right; left, --right) {char tmp s[left];s[left] s[right];s[right] tmp;}} }...

定制开发AI智能名片O2O商城小程序:基于限量策略与个性化追求的营销创新

摘要:随着科技的飞速发展和消费者需求的日益多元化&#xff0c;传统商业模式正经历着前所未有的变革。在数字化转型的大潮中&#xff0c;定制开发AI智能名片O2O商城小程序作为一种新兴的商业模式&#xff0c;凭借其独特的个性化定制能力、高效的线上线下融合&#xff08;O2O&am…...

Spring MVC Controller返回json日期格式配置失效的解决办法

如题&#xff0c;Spring MVC 4.3.0版本&#xff0c;配置jackson读写json。Controller层方法返回值对象包含java.util.Date类型的属性&#xff0c;并且在applicationContext.xml中配置了jackson的日期格式&#xff1a; <mvc:annotation-driven><mvc:message-converters…...

3.Default Constructor的构造操作

目录 1. 问题引入 2. 4种implicitly声明的default constructor 1. 问题引入 “default constructors......在需要的时候被编译产生出来”。关键词是“在需要的时候”&#xff0c;被谁需要&#xff0c;做什么事情&#xff1f;看看下面的代码&#xff0c;然后梳理下思路。 cl…...

CSS的:current伪类:精准定位当前活动元素

CSS&#xff08;层叠样式表&#xff09;是控制网页样式的核心语言。随着CSS4的提出&#xff0c;一系列新的选择器被引入&#xff0c;其中:current伪类便是这些新特性之一。:current伪类允许开发者选择当前处于活动状态的元素&#xff0c;这在创建动态和交互性网页时非常有用。本…...

搭建个人网站

一 个人搭建网站需要进行的操作 详细步骤&#xff1a; 1 网站目标&#xff1a;搭建在线查看法拍房拍卖价格的预测模型&#xff0c;输出预测结果 2 实际功能&#xff1a;在线爬取 阿里法拍网站的信息 3 根据实时模型建模预测法拍价格和成交概率 要搭建一个能够在线查看法拍房拍卖…...

机器学习课程学习周报八

机器学习课程学习周报八 文章目录 机器学习课程学习周报八摘要Abstract一、机器学习部分1.1 self-attention的计算量1.2 人类理解代替自注意力计算1.2.1 Local Attention/Truncated Attention1.2.2 Stride Attention1.2.3 Global Attention1.2.4 聚类Query和Key 1.3 自动选择自…...

福泰轴承股份有限公司进销存系统pf

TOC springboot413福泰轴承股份有限公司进销存系统pf 绪论 1.1 研究背景 现在大家正处于互联网加的时代&#xff0c;这个时代它就是一个信息内容无比丰富&#xff0c;信息处理与管理变得越加高效的网络化的时代&#xff0c;这个时代让大家的生活不仅变得更加地便利化&#…...

墨语灵犀在互联网产品设计中的应用:用户需求分析与PRD生成

墨语灵犀在互联网产品设计中的应用&#xff1a;用户需求分析与PRD生成 每次产品评审会前&#xff0c;你是不是也经历过这样的夜晚&#xff1f;面对一堆零散的用户反馈、模糊的市场数据和脑子里盘旋的初步想法&#xff0c;要在短短几天内把它们梳理成一份逻辑清晰、结构完整的产…...

Realistic Vision V5.1镜像部署实操:解决‘模型路径不存在’异常的完整排查链

Realistic Vision V5.1镜像部署实操&#xff1a;解决‘模型路径不存在’异常的完整排查链 1. 引言&#xff1a;从“模型路径不存在”说起 如果你在部署Realistic Vision V5.1虚拟摄影棚时&#xff0c;满怀期待地启动程序&#xff0c;结果却在控制台看到一行冰冷的“模型路径不…...

2025+数据集成新范式:webSpoon企业级部署实战指南

2025数据集成新范式&#xff1a;webSpoon企业级部署实战指南 【免费下载链接】pentaho-kettle webSpoon is a web-based graphical designer for Pentaho Data Integration with the same look & feel as Spoon 项目地址: https://gitcode.com/gh_mirrors/pen/pentaho-ke…...

全桥LLC变换器死区时间优化实战:从IGBT硬开通到完美ZVS的调试记录

全桥LLC变换器死区时间优化实战&#xff1a;从IGBT硬开通到完美ZVS的调试记录 在电力电子领域&#xff0c;LLC谐振变换器因其高效率、高功率密度和良好的EMI特性&#xff0c;已成为中高功率应用的理想选择。然而&#xff0c;实际调试过程中&#xff0c;死区时间与励磁电感的匹配…...

OpenClaw多任务调度:GLM-4.7-Flash并行处理文件与邮件

OpenClaw多任务调度&#xff1a;GLM-4.7-Flash并行处理文件与邮件 1. 为什么需要多任务调度 上周我需要同时处理两个紧急任务&#xff1a;整理三个月积累的会议录音文字稿&#xff0c;以及给二十多位合作伙伴发送定制化跟进邮件。手动操作需要至少6小时&#xff0c;而第二天早…...

OpenRocket:从设计到飞行的全链路火箭仿真实战指南

OpenRocket&#xff1a;从设计到飞行的全链路火箭仿真实战指南 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket 火箭爱好者与工程师的终极工具&#xff1a;…...

Cherry Studio终极模型集成指南:支持DeepSeek-R1等主流LLM的桌面AI神器

Cherry Studio终极模型集成指南&#xff1a;支持DeepSeek-R1等主流LLM的桌面AI神器 【免费下载链接】cherry-studio &#x1f352; Cherry Studio is a desktop client that supports for multiple LLM providers. Support deepseek-r1 项目地址: https://gitcode.com/GitHub…...

H3C无线调优案例

用户报无线经常掉线&#xff0c;用户现场无线用的H3C 首先登录无线控制器搜集对应接入体验差的AP的诊断日志&#xff0c;从日志中可以看到AP有线上行口的组播广播包数量远远超过了单播报文&#xff1b;没有CRC错误报文&#xff0c;说明网线质量没有问题。接着看&#xff1a;我们…...

vLLM-v0.17.1效果展示:vLLM 0.17.1对Long Context(256K)支持验证

vLLM-v0.17.1效果展示&#xff1a;vLLM 0.17.1对Long Context&#xff08;256K&#xff09;支持验证 1. vLLM框架核心能力概览 vLLM是一个专为大型语言模型(LLM)设计的高性能推理和服务库&#xff0c;最初由加州大学伯克利分校的天空计算实验室开发&#xff0c;现已发展为社区…...

Pixel Fashion Atelier实操手册:批量生成时利用CSV导入多组Enchantment参数

Pixel Fashion Atelier实操手册&#xff1a;批量生成时利用CSV导入多组Enchantment参数 1. 引言&#xff1a;为什么需要批量生成功能 在时尚设计领域&#xff0c;设计师经常需要快速生成多个不同风格的服装设计方案。传统方式需要逐个输入参数、等待生成、再调整参数&#xf…...