shell脚本常用的命令

news2024/11/30 9:33:50

管理文件内容的使用

  • 一、sort命令
  • 二、uniq命令
  • 三、tr命令
  • 四、cut命令
  • 五、split命令
  • 六、paste命令
  • 七、eval命令

一、sort命令

sort命令是以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序,比较原则是从首字符向后,依次按ASCII码进行比较,最后将他们按升序输出。
语法格式:
sort [选项] 参数
在这里插入图片描述
常用选项有:

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

例子:
-n:按照数字进行排序
在这里插入图片描述

-r:反向排序
在这里插入图片描述
-u:等同于uniq,表示相同的数据仅显示一行
在这里插入图片描述
例子就不一一举例了,可以结合起来一起使用
/etc/passwd里面的文件uid是没有顺序的,可以使用此命令结合起来进行按字段,按分隔符进行排序
在这里插入图片描述

二、uniq命令

uniq命令用于报告或者忽略文件中连续的重复行,常与sort命令结合起来使用
语法格式:
uniq [选项] 参数

常用选项:

-c:进行计数,并删除文件中重复出现的行
-d:仅显示连续出现的重复行
-u:仅显示出现一次的行

演示:
什么也不加
在这里插入图片描述
-c:进行计数,并删除文件中重复出现的行
在这里插入图片描述
-d:仅显示连续出现的重复行
在这里插入图片描述
-u:仅显示出现一次的行
在这里插入图片描述

三、tr命令

tr命令常用来对来自标准输入的字符进行替换、压缩和删除
语法格式:
tr [选项] 参数

常用选项:

-c:保留字符集1的字符、其他的字符(包括换行符\n)用字符集2替换
-d:删除所有属于字符集1的字符
-s:将重复出现的字符串压缩为一个字符:用字符集1替换字符集2
-t:字符集2替换字符集1,不加选项同结果

什么也不加,默认是-t
在这里插入图片描述
-c:保留字符集1的字符、其他的字符(包括换行符\n)用字符集2替换
在这里插入图片描述

-d:删除所有属于字符集1的字符
在这里插入图片描述
-s:将重复出现的字符串压缩为一个字符:用字符集1替换字符集2
在这里插入图片描述

四、cut命令

cut命令能显示行中的指定部分,删除文件中指定字段
语法格式:
cut 参数
常用选项:

-f:通过指定哪儿一个字段进行提取,cut命令使用“TAB”作为默认的字段分隔符
-d:“TAB”是默认的分隔符,使用此选项可以更改为其他的分隔符
--complement:此选项用于排除所指定的字段
--output-delimiter:更改输出内容的分隔符
-b:按字节截取
-c:按字符截取

-d:“TAB”是默认的分隔符,使用此选项可以更改为其他的分隔符
-f:通过指定哪儿一个字段进行提取,cut命令使用“TAB”作为默认的字段分隔符
在这里插入图片描述
–complement:此选项用于排除所指定的字段
在这里插入图片描述
–output-delimiter:更改输出内容的分隔符
在这里插入图片描述
-b:按字节截取
在这里插入图片描述
-c:按字符截取
在这里插入图片描述

五、split命令

split命令----Linux下将一个大的文件拆分成若干个小文件
语法格式:
split 选项 参数 原始文件 拆分后文件名前缀
常用选项:

-l:以行数拆分
-b:以大小拆分

不加任何选项会直接复制整个文件
在这里插入图片描述
在这里插入图片描述

-l:以行数拆分
该文件共62行
在这里插入图片描述
在这里插入图片描述
-l:以行数拆分
在这里插入图片描述

六、paste命令

paste能将两个文件的列进行合并
格式为:
paste 选项 文件
常用选项:

-d:可以指定分隔符(默认是制表符分隔)
-s:把一个字段指定的列转换为行输出

不加选项的
在这里插入图片描述
-d:可以指定分隔符(默认是制表符分隔)
在这里插入图片描述
-s:把一个字段指定的列转换为行输出
在这里插入图片描述

七、eval命令

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

第一种方式
在这里插入图片描述
第二种方式
在这里插入图片描述

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

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

相关文章

尚硅谷Vue配套资源

1.gitee地址&#xff1a; https://gitee.com/coderPatrickStar/Vue/tree/master/%E5%B0%9A%E7%A1%85%E8%B0%B7Vue%E9%85%8D%E5%A5%97%E8%B5%84%E6%BA%90 2.

Linux常用命令——id命令

在线Linux命令查询工具 id 显示用户的ID以及所属群组的ID 补充说明 id命令可以显示真实有效的用户ID(UID)和组ID(GID)。UID 是对一个用户的单一身份标识。组ID&#xff08;GID&#xff09;则对应多个UID。id命令已经默认预装在大多数Linux系统中。要使用它&#xff0c;只需…

编译一个开源软件遇到的问题总结

一、开源软件Supra 需要编译一个开源的软件Supra&#xff0c;它需要的前置条件是&#xff1a; 1、cmake ≥ 3.4 2、gcc ≥ 4.8 or min. Visual Studio 2015 (Compiler needs to be supported by CUDA! For that, see the CUDA installation instructions.) 3、QT ≥ 5.5 4、TB…

infuluxdb时序数据库介绍

时序数据库&#xff08;influxdb&#xff09; InfluxDB是一个开源的、高性能的时序型数据库&#xff0c;在时序型数据库DB-Engines Ranking上排名第一。 下载地址:https://dl.influxdata.com/influxdb/releases/influxdb2-2.3.0-windows-amd64.zip 启动&#xff1a; CMD到解压…

游戏服务器被攻击怎么办

游戏服务器的安全是每个游戏开发者和管理员必须关注的问题。然而&#xff0c;尽管有各种防御措施&#xff0c;游戏服务器仍然可能受到攻击。小编将为您介绍游戏服务器被攻击的原因&#xff0c;并提供一些解决方案。 游戏服务器被攻击的原因 1. DDoS 攻击 DDoS 攻击是最常见的攻…

【SSA-LSTM】基于SSA-LSTM预测研究(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

CRM软件标准版和定制版有什么分别

CRM系统能够帮助企业管理客户互动&#xff0c;跟踪客户数据&#xff0c;实现业务流程自动化。很多企业不太了解&#xff0c;标准CRM软件和定制CRM软件的区别是什么&#xff0c;该如何选择&#xff1f;下面我们来说说定制CRM的优势。 什么是标准CRM软件&#xff1f; 标准CRM软…

计算机组成原理---第七章 外围设备习题详解版

&#xff08;一&#xff09;课本例题 &#xff08;二&#xff09;课后习题 1.计算机的外围设备是指除了CPU和内存以外的其它设备。 2.打印机根据印字方式可以分为击打式和非击打式两大类&#xff0c;在击打式类打印机中&#xff0c;只有针型打印型打印机才能打印汉字。 3.一…

Protein Cell:基于R语言的微生物组数据挖掘最佳流程(大众评审截止14号晚6点)...

Protein & Cell综述&#xff1a;基于R语言的微生物组数据挖掘的最佳流程 近日&#xff0c;中国农业科学院刘永鑫组联合南京农业大学袁军组在国际期刊 Protein & Cell (IF 15.3) 发表了题为”“The best practice for microbiome analysis using R”的综述论文&#xf…

辉哥带你学hive第一讲 hive基本介绍以及环境搭建

文章目录 1.Hive介绍1.1 hive 基本情况1.2 Hive架构原理1.3 Hive 安装1.4 元数据配置1.5 hive 服务部署1.6Hive常用交互命令1.6.1 Hive参数配置方式1.Hive介绍 1.1 hive 基本情况 hive基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表。 Hive是一个Hadoop客…

【扰动识别】S变换电能质量扰动识别(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

黎曼积分的概念

黎曼积分的概念 引入 设 f f f是闭区间 [ a , b ] [a,b] [a,b]上的非负连续函数&#xff0c; D D D是坐标系中由直线 x a xa xa&#xff0c; x b xb xb&#xff0c; x x x轴和曲线 y f ( x ) yf(x) yf(x)围成的图形。求 D D D的面积 S S S。 我们可以在 [ a , b ] [a,b] …

蓝桥杯模块学习2——LED灯

第一章 硬件部分 1.1 为什么要了解硬件部分&#xff1f; 比赛的时候会给出原理图&#xff0c;如果我们能够深入的理解硬件&#xff0c;就可以从中推导出代码应该怎样写&#xff0c;而不用死记硬背 1.2 电路的组成部分 1.2.1 74HC573锁存器 原理图&#xff1a; ​​​​​​​…

Claude的奇妙之旅:一起探索人工智能的无限可能

是一款由Anthropic公司开发的人工智能应用&#xff0c;可以在Slack中使用。可以理解和生成自然语言&#xff0c;帮助用户完成各种任务&#xff0c;如写小说、编写代码、解释概念等。的特点是&#xff1a; - 是免费的&#xff0c;不需要申请或下载&#xff0c;只需要在Slack中添…

网络安全合规-OKR和KPI

首先我们还是要区分OKR和KPI的关系区别&#xff1a; 我们可以从几个方面来看两者的差别&#xff1a; 第一&#xff0c;从核心驱动上区分 KPI 以考核为核心驱动&#xff1b;OKR 以成果为核心驱动。 KPI &#xff1a;就是把工作“量化成数据”&#xff0c;当成个人的考核标准&…

若依框架讲解后端利用DefaultKaptcha生成验证码及校验

pom文件中引入DefaultKaptcha的依赖 <dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version></dependency>Kaptcha 是一个可高度配置的实用验证码生成工具&#xff0c;…

个人 [Raft项目] 记一次内存泄漏排查

1 .发现过程 笔者在一步一步写Raft协议, 在可以跑了一天后,发现Leader节点的内存使用量缓慢上涨, 且手动执行GC后也没达到预期水平线 Leader节点内存情况 在对Java有深入了解的读者其实是可以理解内存使用量的产生 笔者的测试用例是: 启动四个节点,查看一天后的内存攀升, Le…

大专生,本科生,正在成为求职市场最尴尬的存在-我反对此言论,因为高成本,低科技,低利润产业将是中国未来五十年的主要特点

有很多视觉人机器视觉粉丝咨询我,我大专生可以学机器视觉开发吗? 我这里回答下:可以,你要自信点,下三年苦功夫,去学习,去专研,去找一个好点公司平台或者好点的培训机构。 学历不是评价一个人的唯一标准,但是它一直是社会对个人综合素质和知识储备的一种重要衡量标准…

卡尔曼滤波器-公式简单推导 | 原理分析 | 将卡尔曼滤波器在MatLab中简单实现

目录 1.状态转移2.协方差矩阵3.噪声协方差矩阵的传递4.观测矩阵5.状态更新6.噪声协方差矩阵的更新7.在MatLab中实现卡尔曼滤波器1.状态转移 卡尔曼滤波器又称为最佳线性滤波器。优点有实现简单、纯时域滤波器、不需要进行频域变换等。 假设有一辆汽车在路上行驶,用位置和速度…

Android+SQLite家庭食物储藏有效期提醒信息app源码

一个新的时代--移动互联网已经微笑着迎面而来。移动互联网与智能手机有着自身独特的优势&#xff0c;使得人们更方便的办公、娱乐&#xff0c;生活更加轻松。为了使人们对家庭里的食物能够更科学的管理&#xff0c;让人们随时随地能了解家庭所储藏食物的情况&#xff0c;及时让…