Shell之常用命令

目录

1.排序工具--sort命令

1.1 快读查找一个目录中最大文件

2.去重工具--uniq命令

2.1 分析判断远程登录错误次数,禁止该用户远程登录

3.修改工具--tr命令

4.列截取工具--cut命令

5.分割文件工具--split命令

6.合并文件列--paste命令

7.扫描工具--eval命令

8.总结


1.排序工具--sort命令

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

语法格式

sort [选项]  参数
cat file | sort  选项
按首字母排序,首字母一样按第二个字母排序,以此类推

数字:按第一个字符排序,第一个字符一样再看第二个数字,依次类推

常用选项

-n数字升序排序;-r反序排序


-u去重


-t指定字段分隔符;
-k指定排序字段

-t ':' 以冒号为分割,-k 3 指定第三个字段进行排序,-nr 倒序排序

-o将排序后的结果转存至指定文件;效果等同于“>”


-f忽略大小写


1.1 快读查找一个目录中最大文件

使用du -a查找所有文件,再通过sort -nr进行倒序排序查看最大文件

2.去重工具--uniq命令

  • 用于报告或者忽略文件中连续的重复行,常与sort 命令结合使用.
  • 注意: 是连续的行。所以通常和sort结合使用,先排序使之变成连续的行, 再执行去重操作,否则不连续的重复行它不能去重。

语法格式

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

常用选项


如何删除重复行

-c统计指定文件中行数

-d仅显示有重复
-u查看内容没有重复

2.1 分析判断远程登录错误次数,禁止该用户远程登录

加入黑名单,防止登录

3.修改工具--tr命令

  • 常用来对来自标准输入的字符进行替换、压缩和删除.

语法格式

tr [选项] [参数]

常用选项

-t 字符集1替换字符集2,不加选项-t结果也相同

-c保留字符集1的字符,其他字符用字符集2替换

案例:

保留ab,其余都替换为0,\n为换行也会替换为0

-d删除所有 参数1 的字符

-s根据 参数1 进行去重,如果有 参数2 则再用 参数2 的字符替换 参数1 的字符

补充:
1.如何遍历PATH中的所有目录?

2.如何将一个ip地址转化为一个字符串列表?

3.如何将windows文件格式转换为linux文件格式?

(1).windows的换行:由回车符\r和换行符\n组成;而linux的换行:由换行符\n组成.

(2).安装dos2unix工具,即可解决windows文件转化为linux文件

4.使用sort和tr命令,实现数组的排序;

删除空行的两种方法;

1.grep -v “^$”

2.tr -s "\n"

4.列截取工具--cut命令

显示行中的指定部分,删除文件中指定字段.

语法格式

cut 参数
cat file | cut选项

常用选项

注意:

--output-dellmiter指定输出的字段分割符

--complement取反作用

补充:

字符串分片的三种方法

1.echo ${变量:下标:长度}  ;该方法下标起始从0开始

2.echo $变量 | cut -b 起始下标-终止下标  ;该方法下标起始从1开始

3.expr substr $变量 起始下标 长度  ;该方法下标起始从1开始

5.分割文件工具--split命令

split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等

语法格式

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

常用选项

1.如何分割一个大文件根据行分割
split -l (指定分割行数) 源文件 目标文件名前缀

-d   输出的目标文件后缀用数字替代

2.如何将一个10G文件分割为10个1G的文件?
split -b 1G 源文件 目标文件名前缀

6.合并文件列--paste命令

将多个文件按照列进行合

语法格式

paste [-s][-d <间隔字符>] 文件...

常用选项

-d 指定分割符

-s将每一个字段横向输出

如何合并文件列?

1.paste 文件1 文件2

示例:
将b.txt与与a.txt文件第二列进行合并

如何合并文件行?

cat 文件1 文件2  > 新文件

7.扫描工具--eval命令

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

示例1 

示例2

示例3

示例4

8.总结

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

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

相关文章

VMware Workstation 17.5.2 Pro 发布,产品订阅模式首个重大变更

VMware Workstation 17.5.2 Pro 发布&#xff0c;产品订阅模式首个重大变更 基于 x86 的 Windows、Linux 桌面虚拟化软件 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-workstation-17/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页…

失业焦虑如何缓解心情?流静冥想

失业焦虑如何缓解心情&#xff1f;人生旅途&#xff0c;失业犹如山重水复&#xff0c;焦虑似迷雾遮望眼。古语云&#xff1a;“山不厌高&#xff0c;海不厌深。”心之向往&#xff0c;冥想便是那披荆斩棘之斧&#xff0c;如何带你走出困境&#xff1f; “静以修身”&#xff0c…

TikTok Shop认知课 打通TK小店全流程

资料 001-先导课.mp4 002-如何用思维导图工具做课程笔记.mp4 003-TTS入驻模式.mp4 004-如何获取店铺.mp4 005-TTS店铺注册全流程,mp4 006-店铺整体运营思路.mp4 007-运营的几个误区.mp4 008-新店起店准备工作,mp4 009-规店铺风控注意事项,mp4 010-店铺基础设置之店铺…

C语言指针的初级练习

前言 从0开始记录我的学习历程&#xff0c;我会尽我所能&#xff0c;写出最最大白话的文章&#xff0c;希望能够帮到你&#xff0c;谢谢。 提示&#xff1a;文章作者为初学者&#xff0c;有问题请评论指正&#xff0c;感谢。 哥们嗷 不知道你和我是否一样在学习C语言指针的时…

非成对意象翻译中的内容制约范式再思考

Rethinking the Paradigm of Content Constraints in Unpaired Image-to-Image Translation 非成对意象翻译中的内容制约范式再思考 Xiuding Cai1 2, Yaoyao Zhu1 2, Dong Miao1 2, Linjie Fu1 2, Yu Yao1 2 蔡秀定 1 2 、朱瑶瑶 1 2 、苗东 1 2 、付林杰 1 2 、余瑶 1 2 Corre…

精选合作伙伴:如何挑选最适合您小程序商城开发的软件公司

在选择一家合适的软件公司来协助您开发并运营小程序商城时&#xff0c;选择过程无疑是一项关键而复杂的任务。市场上的软件公司繁多&#xff0c;各具特色&#xff0c;那么&#xff0c;如何在这众多的选择中找到最适合您的合作伙伴呢&#xff1f;以下将从需求梳理、公司实力评估…

VC++6.0 常用的文件对话框和目录选择对话框

1&#xff0c;文件对话框 //1,弹出文件打开对话框CString strFileName "";char szFilter[] {"exe files(*.exe)|*.exe|All Files(*.*)|*.*|"};CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter,NULL);if(dlg.DoModal() …

scanf读取标准输入

内容 scanf函数的原理 多种数据类型混合输入 常用的数据输入/输出函数 程序员可以给程序输入数据&#xff0c;程序处理后会返回一个输出。C语言通过函数库读取标准输入&#xff0c;然后通过对应函数处理将结果打印到屏幕上&#xff0c;printf函数可以将结果打印到屏幕上。下…

【刷题篇】二分查找(二)

文章目录 1、山脉数组的峰顶索引2、寻找峰值3、寻找旋转排序数组中的最小值4、LCR 点名 1、山脉数组的峰顶索引 符合下列属性的数组 arr 称为 山脉数组 &#xff1a; arr.length > 3 存在 i&#xff08;0 < i < arr.length - 1&#xff09;使得&#xff1a; arr[0] &l…

Java基础教程 - 7 面向对象-1

更好的阅读体验&#xff1a;点这里 &#xff08; www.doubibiji.com &#xff09; 更好的阅读体验&#xff1a;点这里 &#xff08; www.doubibiji.com &#xff09; 更好的阅读体验&#xff1a;点这里 &#xff08; www.doubibiji.com &#xff09; 7 面向对象 面向对象&am…

人物介绍模板 PSD 源文件免费获取

免费获取 下载链接在最后&#xff01; 下载链接在最后&#xff01; 下载链接在最后&#xff01; 下载链接在最后&#xff01; 下载链接在最后&#xff01; 链接&#xff1a;https://pan.baidu.com/s/1sq3e6djMdZt76Sh_uqVxWg 提取码&#xff1a;naun

论文阅读:基于改进 YOLOv5算法的密集动态目标检测方法

目录 概要 Motivation 整体架构流程 技术细节 小结 论文地址&#xff1a;基于改进YOLOv5算法的密集动态目标检测方法 - 中国知网 (cnki.net) 概要 目的&#xff1a;提出一种基于 YOLOv5改进的检测算法&#xff0c;解决密集动态目标检测精度低及易漏检的问题。 方法&…

C++ 中重写重载和隐藏的区别

重写&#xff08;override&#xff09;、重载&#xff08;overload&#xff09;和隐藏&#xff08;overwrite&#xff09;在C中是3个完全不同的概念。我们这里对其进行详细的说明 1、重写&#xff08;override&#xff09;是指派生类覆盖了基类的虚函数&#xff0c;这里的覆盖必…

基于Django的图书管理系统

文章目录 前言一、页面展示1.登录2.前端页面3.后端页面 总结 前言 本网站调用Django编写了图书管理网站&#xff0c;可以在后端控制书籍&#xff0c;前端进行书籍预览 一、页面展示 1.登录 2.前端页面 3.后端页面 — ![在这里插入图片描述](https://img-blog.csdnimg.cn/dir…

5.2 操作系统安装必备知识

目前操作系统安装方式接近于全自动化&#xff0c;用户无需做过多操作就能完成操作系统安装。但是操作系统安装也有其复杂的一面&#xff0c;例如固件及分区表的不同就会导致操作系统安装失败。本节主要介绍系统安装的一些必备知识。 5.2.1 BIOS 概述 BIOS(Basic Input/Output …

jspXMl标记语言基础

1.打开命令框进入数据库 打开eclipse创建需要连接的项目 粘贴驱动程序 查看驱动器 使用sql的包 int代表个 conlm代表列名 <%page import"java.sql.ResultSet"%> <%page import"java.sql.Statement"%> <%page import"java.sql.Connect…

Math.Round()函数说明

Math.Round()并不是严格意义上的是四舍五入函数。它默认的执行的是“银行家舍入”算法&#xff0c;即四舍六入五取偶。概括为&#xff1a;四舍六入五考虑、五后非零就进一&#xff0c;五后皆零看奇偶&#xff0c;五前为偶应舍去、五前为奇要进一。 当为5时&#xff0c;取离着最…

客观需求验证的常见5大步骤(实施版)

我们在挖掘用户需求时&#xff0c;往往容易犯伪需求或需求错位等问题&#xff0c;因此需要进行客观需求验证。通过客观的验证&#xff0c;我们可以有效减少主观判断误差问题&#xff0c;确保需求的准确性&#xff0c;从而降低需求变更和项目风险的概率&#xff0c;减少开发成本…

在做题中学习(58):和为K的子数组

560. 和为 K 的子数组 - 力扣&#xff08;LeetCode&#xff09; 因为是判断子数组的和 要返回 k 的次数&#xff0c;所以 解法&#xff1a;前缀和 哈希表 提出一个概念&#xff1a;以下标i为结尾的所有子数组 那要找出所有和 k的子数组 就相当于&#xff1a;找出所有值为…

[Cesium for Supermap]加载iserver发布的wms服务

1&#xff0c;wms服务 2&#xff0c;加载代码 let provider new Cesium.WebMapServiceImageryProvider({url: "http://support.supermap.com.cn:8090/iserver/services/map-china400/wms111/China_4326",enablePickFeatures:true,rectangle: Cesium.Rectangle.fromD…