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

管道命令(sort、uniq、tr、cut、eval命令)

一、sort命令

1、作用

  • 以行为单位对文件内容进行排序
  • 也可以根据不同的数据类型来排序

2、语法格式

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

3、常用选项

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

4、实例操作

4.1 对数字进行排序:按照第一列数字顺序进行排序,而不是按照数字大小

4.2 对字母进行排序:默认是按照首字母进行排序,且小写字母放前面,大写字母放后面

4.3 -f:忽略大小写,会将小写字母都转换为大写字母来进行比较

4.4 sort -n:按照数字进行排序;sort -r:反向排序

4.5 sort -u∶ 等同于uniq,表示相同的数据仅显示一行;去除重复的

4.6 按照/etc/passwd内的UID进行从大到小反向排序,并将排序结果输出到123.txt文件中

sort -t ':' -k3 -nr /etc/passwd -o 123.txtcat /etc/passwd | sort -t ':' -nr -o 123.txt

-t∶ 指定字段分隔符,默认使用 【Tab】键分隔;-k∶指定排序字段;-o <输出文件>∶ 将排序后的结果转存至指定文件

4.7 对/var/log目录下的文件所占磁盘大小进行降序排列,并将排序结果输出到456.txt文件中

	
du -a /var/log | sort -nr -o 456.txt

二、uniq命令

1、概述

  • uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用

2、语法格式

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

3、常用选项

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

4、实例操作

4.1 去除重复内容,uniq+文件名

4.2 uniq 结合sort -n 使用,去除重复项,并进行升序排列

sort -nu testfile3
sort -n testfile3 |uniq

4.3 uniq -c∶ 进行计数,并删除文件中重复出现的行;

sort -n testfile3 |uniq -c

4.4 uniq-d∶ 仅显示连续的重复行;

cat testfile3 | uniq -d
uniq -d testfile3
sort -n testfile3 | uniq -d

4.5 sort -u∶ 仅显示出现一次的行

cat testfile3 | uniq -u
uniq -u testfile3
sort -n testfile3 | uniq -u

三、tr命令

1、作用

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

2、语法格式

tr [选项]  参数

3、常用选项

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

4、参数

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

5、实例操作

5.1 替换字符

5.2 tr-c∶保留字符集1的字符,其他的字符(也包括换行符\n)用字符集2替换

echo -e "abc\n123" | tr -c "a\n" "d"
echo -e "abc\n123" | tr -c "a" "d"

5.3 tr -d∶ 删除所有属于字符集1的字符

echo fdfgggggggggggggg | tr -d "g"

5.4 tr -s∶ 将重复出现的字符串压缩为一个字符串;用字符集2替换字符集1

echo fffffffffffdfgggggggggggggg | tr -s "fg"
echo fffffffffffdfgggggggggggggg | tr -s "fg" "a"
echo fffffffffffdfgggggggggggggg | tr -s "fg" "as"

删除空行以及压缩空行(多种方法cat uniq)

grep -v "^$" tset3
cat tset3 | tr -s "\n"cat -s tset3
uniq tset3

5.5 tr应用:解决从windows传来的文件的空格问题

Linux中遇到换行符("\n")会进行回车+换行的操作,回车符反而只会作为控制字符("^M")显示,不发生回车的操作。而windows中要回车符 +换行符("\r\n")才会回车+换行,缺少一个控制符或者顺序不对都不能正确的另起一行

如果文本文件是在windows下创建或文本格式被设置为dos,有时我们会看到一些 ^M符号,其实它就相当于 \r,只是不同的文件格式的转义字符也有所不同。

cat -v 可以让隐藏的转移字符也打印中显示

5.5.1 使用tr替换换行符

cat -v test3.txtcat test3.txt | tr "\r" "\n" >test4.txt

5.5.2 使用 dos2unix +文件名,进行直接转换格式

四、cut命令

1、作用

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

  • cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
  • 如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。

2、格式

cut [选项]  参数   

3、常用选项

  • -f∶ 通过指定哪一个字段进行提取。cut命令使用"TAB"作为默认的字段分隔符。
  • -d∶ “TAB"是默认的分隔符,使用此选项可以更改为其他的分隔符。
  • - -complement∶ 此选项用于排除所指定的字段。
  • - -output-delimiter∶ 更改输出内容的分隔符。
  • -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志

4、实例操作

4.1 -d∶ “TAB"是默认的分隔符,使用此选项可以更改为其他的分隔符;-f∶ 通过指定哪一个字段进行提取

4.2 - -complement∶ 此选项用于排除所指定的字段

4.3 - -output-delimiter∶ 更改输出内容的分隔符

五、eval命令

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

1、实例操作

六、练习 

面试题:

1.统计当前主机的连接状态

[root@localhost ~]# ss -nta | grep -v '^State' |cut -d " " -f 1| sort | uniq -c

3 ESTAB

17 LISTEN

2.统计当前连接主机数

[root@localhost opt]# ss -nt | tr -s " "|cut -d " " -f 5 | sort -n | uniq -c

1 Local

2 192.168.233.21:22

相关文章:

管道命令(sort、uniq、tr、cut、eval命令)

一、sort命令 1、作用 以行为单位对文件内容进行排序也可以根据不同的数据类型来排序 2、语法格式 sort [选项] 参数cat file | sort 选项3、常用选项 -f∶ 忽略大小写&#xff0c;会将小写字母都转换为大写字母来进行比较&#xff1b; -b∶ 忽略每行前面的空格&#xff1b…...

Windows10系统忘记登录密码解决办法

Windows10系统忘记登录密码解决办法1. 前言1.1. 环境准备1.2. 官方PE安装系统2. 虚拟机配置2.1. 编辑虚拟机2.2. 进入固件2.3. 编辑启动项顺序2.4. 进入PE系统2.5. 恢复原系统3. 修改程序操作步骤3.1. 调用cmd程序3.2. 查看所有磁盘信息3.3. 进入原系统C盘3.4. 重命名程序3.5. …...

Design Complie实验,使用2007年Synopsy的Lab Guide

Design Complie实验&#xff0c;使用2007年Synopsy的Lab Guide 文章目录Design Complie实验&#xff0c;使用2007年Synopsy的Lab Guide1 DC实验1.1 Setup and Synthesis FlowTask 1 Update the setup fileTask 2 Invoke Design VisionTask 3 Read the Design into DC MemoryTas…...

问题 B: C语言10.2

题目描述&#xff1a; 输入a、b、c三个整数&#xff0c;按先大后小的顺序输出a、b和c。注意请使用指针变量的方式进行比较和输出。 输入 三个用空格隔开的整数a、b和c。 输出 按先大后小的顺序输出a、b和c&#xff0c;用空格隔开。 请注意行尾输出换行。 样例输入 9 0 1…...

多线程控制并发数目工具类Semaphore

文章目录前言Semaphore原理Semaphore源码解析内部继承AQS保证同步acquire获取许可release释放许可实战演示总结前言 在多线程编码过程中&#xff0c;我们会用到多线程来提升运行效率。比如我们的Executors创建线程池&#xff0c;程序尽可能的压榨CPU资源来提升我们程序吞吐量。…...

Redis篇之五大数据类型

1、五大数据类型 4.1、String&#xff08;字符串&#xff09; String是Redis最基本的类型&#xff0c;你可以理解成与Memcached一模一样的类型&#xff0c;一个key对应一个value String类型是二进制安全的。意味着Redis的string可以包含任何数据。比如jpg图片或者序列化的对象…...

Linux->文件系统磁盘文件管理

目录 1 磁盘结构 2 逻辑抽象管理磁盘 2.1 逻辑抽象 2.2 管理磁盘 2.3 补充知识 3 软硬连接 1 磁盘结构 本篇的学习需要建立在大家在脑海中有一副磁盘的结构才能进行下去&#xff0c;所以我会以图解的方式为大家简单讲解一下&#xff0c;注&#xff1a;博主对这一部分并不是…...

echarts tooltip文字太长换行

tooltip文字太长换行&#xff0c;设置了宽度也没有换行&#xff0c;加上一句&#xff1a; extraCssText: ‘max-width:300px; white-space:pre-wrap’, 没加之前是这样&#xff1a; 加上之后 extraCssText: ‘max-width:300px; white-space:pre-wrap’, tooltip: {trigger: &…...

Docker 部署Jira8.1.0

Jira与Confluence一样&#xff0c;都需要用到独立的数据库&#xff0c;对于数据库的安装我们不做介绍&#xff0c;主要介绍如何用Docker部署Jira以及对Jira进行破解的操作。 1、数据库准备 关于数据库官方文档说明&#xff1a;https://confluence.atlassian.com/adminjiraserv…...

枚举、模拟法(蓝桥杯卡片、数的分解为例)

枚举和模拟算法是计算机领域常用的两种基本算法。枚举算法是一种通过列举所有可能的情况来解决问题的方法。模拟算法则是通过模拟真实场景来解决问题。 枚举、模拟法 枚举算法是指将问题分解为一系列离散的情况&#xff0c;通过枚举所有可能的情况&#xff0c;逐一检查每种情…...

DC-DC升压变换器直流隔离高压输出稳压电源模块5v12v24v48v转50v110v150v220v250v300v350v500v

HRB 系列隔离宽电压输入高电压稳压输出 特点 效率高达 80%以上1*1英寸标准封装单电压输出稳压输出工作温度: -40℃~85℃阻燃封装&#xff0c;满足UL94-V0 要求温度特性好可直接焊在PCB 上应用 HRB 0.2~10W 系列模块电源是一种DC-DC升压变换器。该模块电源的输入电压分为&#…...

jQuery创建、添加、删除元素

一、创建元素 语法&#xff1a; $("<li></li>"); 动态的创建了一个 <li> 二、添加元素 1. 内部添加 1、element.append(内容) 把内容放入匹配元素内部最后面&#xff0c;类似原生 appendChild。 2、element.prepend(内容) 把内容放入匹…...

产品快讯丨神策数据 A/B 测试试验指标管理重磅升级

神策数据&#xff1a;为了更好地帮助企业管理试验指标&#xff0c;神策数据 A/B 测试完善了指标类型、配置方式、计算原理等&#xff0c;帮助分析师、运营同学等明确计算逻辑&#xff0c;并最大程度减少歧义以及与技术同学沟通的成本&#xff0c;以实现企业内部信息的有效统一。…...

游戏开发之Unity2021URP项目场景的构建

地面的修改和编辑&#xff1a;地面插件的使用 打开包管理器&#xff0c;在左边的包那里选择“Unity注册表”&#xff0c;在右边进行搜索“Polybrush”&#xff0c;之后选择右下角的安装 安装完之后要选择样本中的URP进行导入&#xff0c;因为我们的项目是URP渲染管线的&#x…...

数学分析:多元微积分1

卓里奇的数学分析的好处在于直接从多元函数来入手多元微积分&#xff0c;引出矩阵&#xff0c;十分自然。 紧集的概念&#xff0c;感觉直接用闭集去理解就行&#xff0c;&#xff08;对于图形学来说&#xff09;。 多元函数的极限&#xff0c;其实和单元函数并没有什么区别。 这…...

STC32G 三轮车负压电磁

文章目录前言整车效果控制思路循迹环岛处理障碍处理关键代码部分差比和以及当前速度计算角速度环速度环环岛处理障碍处理前言 年后就没怎么碰车了&#xff0c;到3月中旬换三轮了&#xff0c;可算有一点成效了&#xff0c;做个记录。 整车效果 三轮负压电磁慢速元素识别控制思…...

【编程小记】位运算 x -x 表示含义

位运算 x & -x 表示含义一、原码反码补码二、位运算 x & -x 表示含义三、最终结论一、原码反码补码 在计算机中&#xff0c;整数的数据的存储是按照补码的方式进行存储的 按照数据与0的大小&#xff0c;数据又被分为正数与负数 正数的原码反码补码相同。负数的原码&…...

信创PC利旧管理新模式,麒麟信安助力国家某部委实现高效云办公

2022年&#xff0c;国家某部委所有桌面终端均已完成信创PC替换&#xff0c;并将日常办公所需的办公Office套件、OA无纸化办公系统、即时通讯系统等全部迁移至信创PC&#xff0c;但在进行生产业务系统迁移时&#xff0c;该单位信创PC仍存在业务系统与不同芯片PC难适配、应用难兼…...

【玩转RT-Thread】RT-Thread内核宏定义详解(rtdef.h)

文章目录1.RT-Thread版本信息2.RT-Thrad基础数据类型定义3.RT-Thread基本数据类型的范围4.RT-Thread系统滴答时钟最大计数值5.RT-Thread IPC数据类型范围6.RT-Thread避免未使用变量警告7.编译器相关定义8.编译器相关定义9.RT-Thread错误码定义1.RT-Thread版本信息 /* RT-Threa…...

PDF转化器免费版有哪些?这几款办公达人们都在用

在现代办公中&#xff0c;文件的排版和格式是非常重要的&#xff0c;无论是发布通知或提交策划书、投档简历或是发表论文、宣传海报或是产品说明书等&#xff0c;我们经常使用PDF文件格式发送给他人。然而&#xff0c;很多人需要对PDF进行编辑修改&#xff0c;通常会先将其转换…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...