shell 脚本命令

news2025/1/11 21:52:14

文章目录

  • 一.sort命令
    • 实验
  • 二.uniq命令
    • 命令演示
  • 三.tr命令
    • 命令演示
  • 四.cut命令
    • 命令演示
  • 五.split命令
  • 六.paste命令
    • 实验演示
  • 七.eval命令


一.sort命令

  • 以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序
  • 比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出

语法格式:

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

在这里插入图片描述

实验

直接使用sort按首字符排序
在这里插入图片描述
使用sort按从小到大升序排列
在这里插入图片描述
使用sort按降序排列
在这里插入图片描述
将重复的数据仅显示一行

在这里插入图片描述
使用-t,-k来进行指定排序

在这里插入图片描述

二.uniq命令

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

uniq [选项] 参数
cat file | uniq 选项

在这里插入图片描述

命令演示

使用sort -n命令来整理序列在使用uniq来去除重合的数
在这里插入图片描述
使用uniq -d 来查看重复的值
在这里插入图片描述

使用uniq -u 来查看没有重复的值
在这里插入图片描述
查看这个内容中的行内容出现的次数可以使用 uniq -c 来查看
在这里插入图片描述

三.tr命令

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

tr [选项][参数]

在这里插入图片描述
在这里插入图片描述

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

字符集2:指定要转换成的目标宁符集。

命令演示

使用-c来进行替换,不想将换行符进行替换的话加入\n
在这里插入图片描述
删除某个字符使用-d来实现
在这里插入图片描述
使用-s来压缩重复的字符,也能实现替换
在这里插入图片描述
在这里插入图片描述
使用tr命令对数组进行排序
在这里插入图片描述

四.cut命令

cut命令—显示行中的指定部分,删除文件中指定字段
语法格式:

cut 参数
cat 文件名 | cut 选项

在这里插入图片描述

命令演示

使用-f和-d来指示分割字段
在这里插入图片描述
实现多字段分割显示
在这里插入图片描述
使用–complement命令来进行反向输出,除了指定的数不显示,其他都输出
在这里插入图片描述
使用–output-delimiter命令来指定输出内容的分隔符
在这里插入图片描述

五.split命令

在Linux系统中将一个大的文件拆分成若干个小文件
语法格式:

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

在这里插入图片描述

六.paste命令

实验演示

以列的方式进行文件的合并
在这里插入图片描述
指定间隔字符
在这里插入图片描述
使用-s来将文件合并成行而不是按行粘贴
在这里插入图片描述
在命令行上面加上r 指定目录里的文件进行合并
在这里插入图片描述
在这里插入图片描述

七.eval命令

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

echo "hello world" > file1
myfile="cat file1"
echo $myfile 
#现在还只是显示变量的值
eval $myfile  
#经过eval的扫描后,变量的值被替换为cat file1的执行结果
 
[root@dz666 ~]# echo "hello world" > file
[root@dz666 ~]# myfile="cat file"
[root@dz666 ~]# echo $myfile 
cat file
[root@dz666 ~]# eval $myfile
hello world
# eval $myfile -> cat file -> hello world

eval命令的编写:

vim 2.sh
    a=100
    b=a
    echo \$$b
    eval echo \$$b
 
[root@dz666 ~]# sh test2.sh
   $a  #执行\$$b的命令
   100
执行顺序为 echo \$$b  →  echo \$a  →  100

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

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

相关文章

chatgpt赋能Python-python_nonetype

Python Nonetype:什么是Nonetype以及如何处理? 在Python编程中,你可能会遇到NoneType,也就是None类型。如果你不知道NoneType是什么,它可以导致代码中的错误。 什么是NoneType? NoneType表示空值或者没有…

【数据结构】二叉树顺序结构、链式结构的实现、遍历二叉树(前序 中序 后序 层序)

文章目录 1.二叉树结构实现1.1顺序结构的实现1.2链式结构的实现 2.堆的概念和介绍3.二叉树的遍历3.1前序遍历3.2中序遍历3.3后序遍历3.4层序遍历 1.二叉树结构实现 1.1顺序结构的实现 在之前的文章中,我们对二叉树有了一定的了解,这里我们会对二叉树再进…

el-table实现可拖拽移动列和动态排序字段

🍿*★,*:.☆( ̄▽ ̄)/$:*.★* 🍿 🍟欢迎来到前端初见的博文,本文主要讲解在工作中以一个案例el-table实现可拖拽移动列和动态排序字段🍟 👨‍🔧 个人主页 : 前端初见 &…

chatgpt赋能Python-python_nanmean

Python的nanmean函数:用于计算数组的平均值 Python引入的nanmean函数是一种快速而有效的计算数组平均值的方法。与其他Python中的平均值函数不同,nanmean函数可以处理NaN值,即缺失值。在数据科学和统计学中,处理缺失值是一个常见…

chatgpt赋能Python-python_nontype

介绍Python中的NoneType: 完整的解释和实例 在Python编程中,有一个特殊的数据类型叫做"NoneType",它通常被简称为"None"。这个数据类型被用于表示没有值或空值(null)。在本文中,我们将探索NoneTy…

Spring(五大类注解,对象的三种注入方式及其优缺点)

目录 1.存储 Bean 对象 1.1前置工作:配置扫描路径 1.2添加注解存储 Bean 对象 1.2.1 Controller [控制器存储] 1.2.2 Service(服务存储) 1.2.3 Repository(仓库存储) 1.2.4 Component(组件存储) 1.…

chatgpt赋能Python-python_os怎么用

Python OS模块:让你的文件操作更高效 在Python编程中,文件和文件夹的操作是非常常见的,例如创建、删除、修改、读取等等。这些任务都需要使用操作系统的命令,但是如果每次都手动调用操作系统命令,这样会使编程效率低下…

Vulkan Tutorial 2 presentation

目录 5 窗口表面 6 交换链 7 图像视图 5 窗口表面 由于Vulkan是一个与平台无关的API,它自己不能直接与窗口系统对接。为了在Vulkan和窗口系统之间建立连接,将结果呈现在屏幕上,我们需要使用WSI(窗口系统集成)扩展。…

【瑞萨RA_FSP】DMAC/DTC——直接存储器访问与数据传输

文章目录 一、DMAC和DTC模块简介1. DMAC 特性2. DTC 特性 二、DMAC 模块框图分析三、DMAC 传输模式1. 正常传输模式2. 重复传输模式3. 块传输模式4. 重复-块传输模式 四、DTC 模块框图分析五、DTC 传输模式1. 正常传输模式2. 重复传输模式3. 块传输模式 六、DMAC和DTC关键特性对…

WMS 概述 -- “窗口管理员“

WMS 概述 -- "窗口管理员" 1、WMS 职责2、涉及元素3、WMS、AMS与Activity间的关系 1、WMS 职责 WMS职责理解窗口管理WMS 是窗口的管理者,它负责窗口的启动、添加和删除,另外窗口的大小和层级也是由WMS 进行管理的。窗口管理的核心成员有 Disp…

结构体总结

目录 1.普通结构体 2.定义结构体并同时建立变量 3.匿名结构体 4.typedef重命名 5.typedef省略结构体名字 6.结构体数组 7.结构体指针 8.结构体嵌套 9.结构体链表(头插法) 10.结构体中的函数指针 11.结构体的构造函数和初始化列表 1.普通结构体 stru…

chatgpt赋能Python-python_paas

Python PaaS:简介和未来趋势 随着云计算的不断普及,PaaS(平台即服务)正在成为越来越受欢迎的选择。PaaS可以帮助企业轻松构建、部署和管理应用程序,无需担心底层基础架构的问题。在PaaS领域,Python正在成为…

2023年护网蓝队初级面试总结

00.护网面试步骤是什么样的 投递简历-安全服务公司HR先筛选一下简历,交给技术负责人面试一下,推荐给安全厂商(360、奇安信、安恒、绿盟) 安全设备厂商HR筛选一下简历,安全设备厂商安排技术笔试和面试(技术…

Kubernetes高可用集群二进制部署(Runtime Docker)v1.21版本

Kubernetes高可用集群二进制部署(Runtime Docker) Kubernetes(简称为:k8s)是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多个主机上的容器化的应用&#xf…

chatgpt赋能Python-python_num怎么用

Python Num怎么用?一个有10年Python编程经验的工程师来告诉你 Python是一种被广泛应用的编程语言,它的发展历程已经超过了20年。而其中的NumPy库则成为了Python编程中最重要的一部分之一。NumPy是一个Python库,它提供了大量针对数字的操作函…

AI宝典:AI超强工具大整合

😄😄个人介绍 光子郎.进行开发工作七年以上,目前涉及全栈领域并进行开发。会经常跟小伙伴分享前沿技术知识,java后台、web前端、移动端(Android,uniapp,小程序)相关的知识以及经验体…

微服务实战项目-学成在线-项目介绍以及环境搭建

学成在线-项目介绍&环境搭建 1.项目背景 1.1 在线教育市场环境 以下内容摘自https://report.iresearch.cn/content/2021/01/358854.shtml 在线教育行业是一个有着极强的广度和深度的行业,从校内到校外;从早幼教到职业培训;从教育工具…

Prometheus(普罗米修斯)

Prometheus : 入门 Prometheus简介Prometheus 的主要特点Prometheus架构:什么时候用它合适什么时候用它不合适Prometheus VS InfluxDB基本概念数据模型metric types(指标类型) Prometheus 安装部署二进制安装部署1、将安装包prometheus-2.6.1…

stable-diffusion-webui(1.2.1版本) win10系统本地电脑部署

在安装stable-diffusion-webui(1.2.1版本)之前需要确认win10本地电脑具有的环境 1.显卡类型:NVIDIA(英伟达) 建议显存高于4G以上,这样512*512的还是可以运行的 2.python(版本必须最好是3.10.6)和 git最新版 正式…