DAY 33 shell编程 常用的文本命令

news2024/11/20 8:30:52

sort命令####排序

sort将文件的每一行作为一个单位相互比较,比较原则是从首字符向后依次按ASCII码进行比较,最后将它们按升序输出。(以行为单位来排序输出)

 sort [选项]  参数
 ​
 cat file | sort 选项

常用选项:

常用选项作用
-n按照数字进行排序(默认升序)
-r反向排序(倒序)
-u等同于uniq,表示相同的数据仅显示一行
-t指定字段分隔符,默认使用Tab键分隔
-k指定排序字段(不指定则默认第一个字段)
-f忽略大小写,会将小写字母都转换为大写字母来进行比较
-b忽略每行前面的空格
-o <输出文件>将排序后的结果转存到指定文件中

验证:

先准备一个文件,写一些数字

 不加选项,默认按首字母排序

 -n,按照数字排序(默认升序)

 再追加-r降序排序

 -t 指定分隔符, -k,指定对第几个字段进行排序

 -o <输出文件> ,将排序后的结果转存到指定的文件中

查看/data目录下所有子目录和文件占磁盘空间的大小(即查看目录的磁盘使用情况),按从大到小排序,之后将结果存入/du.txt文件中

uniq命令#####去重

uniq命令用于报告或者忽略文件中连续的重复行,常与sort命令结合使用

常用命令:

常用命令作用
-c统计连续重复的行的次数,并且合并重复的行
-u显示仅出现一次的行(包括不连续的重复行)
-d仅显示重复出现的行(必须是连续的重复行

 -c,显示连续重复行出现的次数,并合并重复行

 -c,与sort命令结合,统计重复出现的次数,包括不连续出现的

 -u,显示仅出现过一次的行(包括不连续出现的行)

 -u,与sort命令结合,显示真正仅出现过一次的行

 tr命令#####删除、替换、压缩

常用命令:

命令作用
-c保留字符集1的字符,其他字符包括换行符\n用字符集2替换
-d删除所有属于字符集1的字符
-s将连续重复的字符串压缩成一个
-t字符集2 替换 字符集1,不加选项效果相同

常用参数:

参数说明
字符集1指定要转换或删除的原字符集。当执行转换操作时,必须使用参数“字符集2”指定转换的目标字符集。但执行删除操作时,不需要参数“字符集2”
字符集2指定要转换成的目标字符集

tr命令的使用

 

 -c,保留字符集1的字符,其他字符包括换行符\n用字符集2替换

 -d,删除所有属于字符集1的字符

 -s,把连续重复的字符串压缩成一个

 分行输出环境变量PATH中包含所有目录

 过滤文件中的非空行

 cut命令####截取字段或字符串

用于显示行中的指定部分,删除文件中指定字

cut 参数
cat file | cut 选项
命令说明
-b以字节为单位进行分割 ,仅显示行中指定直接范围的内容
-d自定义分隔符,默认为制表符”TAB”
-f显示指定字段的内容 , 与-d一起使用 ( -指定连续字段 ,指定不连续字段)
-n取消分割多字节字符
--complement排除所指定的字段
--output-delimiter更改输出内容的分隔符

cut -d -f

cut  --complement:排除所指定的字段

cut  --output-delimiter:更改输出内容的分隔符

 截取字符串

${i:0: 3}   :下标从0开始:截取的字符长度

echo $i l cut -b 1-3  :下标从1开始起始位置-终止位置

expr substr $i 1 3  :下标从1开始 1代表起始位置3代表截取的字符长度

 split命令####拆分文件

Linux下将一个大的文件拆分成若干个小文件

格式:

split 选项 参数 原始文件 拆分后文件名前缀

常用命令:

选项作用
-l以行数拆分
-b以大小拆分

 eval命令

命令字前加上eval时,shell会在执行命令之前扫描它两次。eval命令将首先会先扫描命令行进行所有的置换,然后再执行该命令。该命令适用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/428438.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机综合题汇总

(数学计算题) 把6个相同的球分到三个不同的学生身上,允许有的学生没有球,请问有多少种不同的方法? C(8,2)=28。 典型的插板问题,直接套公式,C(n+m-1,m-1)。6个球,本身5个空,有同学可以不分,再加3个空,共8个空;插入2个板。 (软件选择题) 软件质量保证是什么? A. 确保…

超外差收音机的制作-电子线路课程设计-实验课

超外差收音机的制作 一、原理部分&#xff1a; 超外差收音机&#xff1a;超外差式收音机是将接收到的不同频率的高频信号全部变成一个固定的中频信号进行放大&#xff0c;因而电路对各种电台信号的放大量基本是相同的&#xff0c;这样可以使中放电路具有优良的频率特性。 超…

Adobe考证

在数字化时代&#xff0c;Adobe软件已成为许多人工作和创造的必备工具。为了证明自己在使用Adobe软件方面的专业能力&#xff0c;许多人选择参加Adobe认证考试并获取Adobe认证证书。 本文将从以下几个方面介绍Adobe考证的相关内容...... 什么是Adobe认证考试&#xff1f; Ado…

我的面试八股(JAVA并发)

重点AQS以及几种锁的底层需要补充&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 程序计数器为什么是线程私有的? 程序计数器主要有下面两个作用&#xff1a; 字节码解释器通过改变程序计数器来依次读取指令&#xff0c;从而实现代码的流程控制&#xff0c…

VS Code配置C/C++开发环境

一、VS Code安装C/C++插件 二、配置MinGW 进入下载页面mingw-w64,找到winlibs-x86_64-mcf-seh-gcc-13.0.1-snapshot20230402-mingw-w64ucrt-11.0.0-r1.7z,点击下载。将文件放到自己想要放置的盘符下面,然后解压,将里面的mingw64目录剪切到最外层。 拷贝目录,将目录添加到…

【静态Web架构】静态站点生成器概述 Gatsby ,Hugo 和Jekyll对比

在本文中&#xff0c;您将看到三种最好的静态站点生成器的比较&#xff0c;它们的优点、缺点以及您应该使用它们的原因。网站统治着网络&#xff0c;无论是静态的还是动态的。虽然现在很多网站都是动态的&#xff0c;但是静态的仍然很受欢迎。事实上&#xff0c;静态网站的使用…

高频丙类谐振功率放大器【Multisim】【高频电子线路】

目录 一、实验目的与要求 二、实验仪器 三、实验内容与测试结果 1、观察输入、输出波形 2、观察不同工作状态下的集电极电流波形 3、测试负载特性 4、测试集电极调制特性 四、实验结果分析 五、参考资料 一、实验目的与要求 1、通过实验加深理解高频谐振功率放大器电路…

R -- 层次聚类和划分聚类

brief 聚类分析是一种数据归约技术&#xff0c;旨在揭漏一个数据集中观测值的子类。子类内部之间相似度最高&#xff0c;子类之间差异性最大。至于这个相似度是一个个性化的定义了&#xff0c;所以有很多聚类方法。 最常用的聚类方法包括层次聚类和划分聚类。 层次聚类&#…

vscode连接linux

vscode连接linux第一步:下载扩展第二步:打开左侧的那个类似小电脑的选项第三步:点击那个螺丝按钮第四步:选第一个第五步:配置config文件第六步:打开设置第七步:在搜索栏搜索:Always reveal the SSH login terminal第八步:重启vscode第八步:输入密码后,点击右上角号旁边的"…

什么是存算分离架构?

随着硬件技术的快速进步&#xff0c;尤其是网络和存储设备的性能迅速提升&#xff0c;以及云计算厂商推动软硬件协同加速的云存储服务&#xff0c;越来越多的企业开始基于云存储来构建数据存储服务&#xff0c;或数据湖&#xff0c;因此就需要单独再建设一个独立的计算层来提供…

C++ LinuxWebServer 2万7千字的面经长文(上)

⭐️我叫忆_恒心&#xff0c;一名喜欢书写博客的在读研究生&#x1f468;‍&#x1f393;。 如果觉得本文能帮到您&#xff0c;麻烦点个赞&#x1f44d;呗&#xff01; 前言 Linux Web Server项目虽然是现在C求职者的人手一个的项目&#xff0c;但是想要吃透这个项目&#xff…

不得不说的创建型模式-工厂方法模式

工厂方法模式是创建型模式之一&#xff0c;它定义了一个用于创建对象的接口&#xff0c;但将具体创建的过程延迟到子类中进行。换句话说&#xff0c;它提供了一种通过调用工厂方法来实例化对象的方法&#xff0c;而不是通过直接使用 new 关键字来实例化对象。 下面是一个使用 C…

[架构之路-167]-《软考-系统分析师》-4-据通信与计算机网络-3- 常见局域网与广域网

目录 4 . 3 局域网与广域网 4.3.1 局域网基础知识 1 . 星型结构 2 . 总线结构 3 . 环型结构 4 . 网状结构 4.3.2 以太网技术&#xff08;接入网&#xff09; 1 . 以太网基础 2 . 帧结构 3 . 以太网物理层规范 4.3.3 无线局域网&#xff08;接入网&#xff09; 1 . …

huggingface TRL是如何实现20B-LLM+Lora+RLHF

huggingface TRL实现20B-LLMLoraRLHFIntroductionWhat is TRL?Training at scale8-bit matrix multiplicationLoraWhat is PEFT?Fine-tuning 20B parameter models with Low Rank Adapter参考Introduction 作者首先表示RLHF在目前LLM的训练中是一种很powerful的方式&#xf…

SpringBoot 整合Quartz定时任务管理【SpringBoot系列18】

SpringCloud 大型系列课程正在制作中&#xff0c;欢迎大家关注与提意见。 程序员每天的CV 与 板砖&#xff0c;也要知其所以然&#xff0c;本系列课程可以帮助初学者学习 SpringBooot 项目开发 与 SpringCloud 微服务系列项目开发 Quartz是由Java语言编写&#xff0c;是OpenSym…

【环境搭建:onnx模型部署】onnxruntime-gpu安装与测试(python)

ONNX模型部署环境创建1. onnxruntime 安装2. onnxruntime-gpu 安装2.1 方法一&#xff1a;onnxruntime-gpu依赖于本地主机上cuda和cudnn2.2 方法二&#xff1a;onnxruntime-gpu不依赖于本地主机上cuda和cudnn2.2.1 举例&#xff1a;创建onnxruntime-gpu1.14.1的conda环境2.2.2 …

Spring整合MyBatis与JUnit

Spring整合 想必到现在我们已经对Spring有一个简单的认识了&#xff0c;Spring有一个容器&#xff0c;叫做IoC容器&#xff0c;里面保存bean。在进行企业级开发的时候&#xff0c;其实除了将自己写的类Spring管理之外&#xff0c;还有一部分重要的工作就是使用第三方的技术。前…

Spring —— Spring Boot 创建和使用

JavaEE传送门JavaEE Spring —— Spring简单的读取和存储对象 Ⅱ Spring —— Bean 作用域和生命周期 目录Spring Boot 创建和使用Spring BootSpring Boot 项目创建使用 IDEA 创建网页版创建Spring Boot 目录介绍运行 Spring Boothello world约定大于配置Spring Boot 创建和使…

关于SeaDAS的安装教程以及使用问题笔记

2022年硕士研究生最后半个学期&#xff0c;已经交完了毕业论文&#xff0c;因为觉得工作以后会用到SeaDAS就拿出了一些时间学习&#xff0c;现在已经工作快一年了&#xff0c;而工作中也并没有用到这个软件&#xff0c;估计以后也不会用到了吧。现在把当时学习整理的一些笔记分…

字符串匹配算法(BFKMP)

个人主页&#xff1a;平行线也会相交 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【数据结构初阶&#xff08;C实现&#xff09;】 目录字符串匹配算法BF算法代码实现KMP算法代码实现nextval数组改进字符串匹配算法 在学…