Linux进阶命令-sortwc

news2024/11/18 10:11:39

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

经过上一章Linux日志的讲解,我们对Linux系统自带的日志服务已经有了一些了解。我们接下来将讲解一些进阶命令,主要从以下几个方面来讲解:一些系统操作,系统查看处理,Linux文本处理,逻辑判断,重定向,网络传输,服务启动,文件句柄等内容。通过这些操作,让你对Linux的操作更加得心应手,具体分成以下章节进行讲解:

Linux进阶命令-echo&date&alias

Linux进阶命令-top

Linux进阶命令-ps&kill

Linux进阶命令-sort&wc(本章节)

Linux进阶命令-sed&split

Linux进阶命令-awk&uniq

Linux进阶命令-逻辑或&逻辑与

Linux进阶命令-重定向

Linux进阶命令-scp

Linux进阶命令-rsync

Linux进阶命令-rsync-daemon

Linux进阶命令-nohup&screen

Linux进阶命令-lsof

Linux进阶命令-小结

在前面几小节,我们讲了关于linux系统的一些命令,我们来接着讲一些对文件的进阶操作的命令。

sort

sort 命令用于对文本文件的内容进行排序。它默认按照字母顺序对每行进行排序,但也可以通过选项指定按照数字、日期等其他方式排序。sort 命令通常与管道(|)结合使用,以处理输出结果或对文本数据进行排序操作。

基本语法

sort [options] [file]
  • options:排序选项,用于指定排序的方式。

  • file:要排序的文件名。如果不指定文件名,则从标准输入读取数据。

常用选项

-r 或 --reverse:反向排序,即降序排列。

sort -r file.txt

-n 或 --numeric-sort:按照数值大小排序(而不是按照字典顺序)。

sort -n file.txt

-k 字段1,字段2 或 --key=字段1,字段2:按照指定的字段进行排序。字段是基于空格分隔的,默认情况下整行都参与排序。

sort -k 2,2 file.txt

-t 分隔符 或 --field-separator=分隔符:指定字段分隔符,默认为制表符。

sort -t : -k 3,3 /etc/passw

-u 或 --unique:去除重复行,仅保留唯一的行。

sort -u file.txt

-o 输出文件 或 --output=输出文件:将排序后的结果输出到指定文件中。

sort -o sorted_file.txt file.txt

示例

  1. 对文件 file.txt 按字母顺序排序并输出到终端:

sort file.txt

对文件 numbers.txt 中的数字按数值大小降序排序:

sort -nr numbers.txt

去除文件 names.txt 中的重复行并输出到新文件 unique_names.txt

sort -u names.txt -o unique_names.txt

使用场景

  • 文本文件排序: 对文本文件中的内容按照不同的规则排序,如字母顺序、数值大小等。

  • 数据处理:在数据处理流水线中,用于处理和整理输出结果。

  • 文件比较: 将文件排序后与其他文件进行比较,查找差异或合并操作。

wc

wc 命令是一个用于统计文件中字节数、字数、行数的工具。它的名字代表 "word count",尽管它的功能不仅限于统计单词。wc 命令通常用于命令行环境,特别是在处理文本文件时,用来快速获取文件的基本统计信息。

基本语法

wc [options] [file]
  • options:可选参数,用于指定输出的格式或增加额外的统计信息。

  • file:要统计的文件名。如果不指定文件名,则从标准输入读取数据。

常用选项

-l:统计文件中的行数。

wc -l file.txt

-w:统计文件中的字数(单词数)。

wc -w file.txt

-c:统计文件中的字节数。

wc -c file.txt

-m:统计文件中的字符数(比 -c 更精确,包括换行符)。

wc -m file.txt

-L:找出文件中最长行的长度。

wc -L file.txt

示例

  1. 统计文件 file.txt 的行数、字数和字节数

wc file.txt

输出格式为:

10  20  150 file.txt

使用场景

  • 文件分析: 快速了解文本文件的大小、行数和字数。

  • 脚本编程: 在脚本中用来检查输出结果的字符数或行数。

  • 数据处理: 在数据处理管道中用来验证文件大小或内容的简单统计。

总结

1.sort主要是用于排序,现在主要用于对前面输出部分通过管道进行排序,已经对于文件的统计操作比较少。

2.wc 我用得比较多的就是统计文件行数。

3.比如在统计nginx日志里面的就会用到,先用命令取出来访问者的ip,然后排序,去重,再统计数量。

[root@localhost nginx]# awk '{print $1}' access.log |sort |wc  -l
60 

图片

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

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

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

相关文章

Leetcode Hot 100刷题记录 -Day13(除自身以外数组的乘积)

除自身以外数组的乘积 问题描述: 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不…

[云服务器9]使用django搭建论坛网站?

准备 首先,我们打开雨云官网。 然后我们注册一个账号,注册并登录好后,我们找到主面版的云服务器,然后点击购买云服务器。 配置我们2h2g就足够了,因为我们的流量不是那么大……操作系统推荐选Ubuntu,预装选…

【C++二分查找】2560. 打家劫舍 IV

本文涉及的基础知识点 C二分查找 LeetCode2560. 打家劫舍 IV 沿街有一排连续的房屋。每间房屋内都藏有一定的现金。现在有一位小偷计划从这些房屋中窃取现金。 由于相邻的房屋装有相互连通的防盗系统,所以小偷 不会窃取相邻的房屋 。 小偷的 窃取能力 定义为他在…

荣耀时刻|Anzo Capital 闪耀2024国际金融产业博览会

【2024年9月5日-6日,中国香港】由数汇金融和汇友网主办的2024年国际金融产业博览会香港峰会在香港康得思酒店举行,Anzo Capital 昂首资本作为顶级赞助商和重磅受邀嘉宾出席了本次展会。 此次展会汇聚了众多行业领军企业、知名专家以及投资机构&#xff…

【趣学Python算法100例】抓交通肇事犯

问题描述 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击该事件,但都没有记住车号,只记下了车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同…

Linux - make/Makefile工具的基础使用

文章目录 一、介绍二、工作原理三、使用1、make的使用2、make的常用选项3、Makefile文件 四、总结 一、介绍 make工具和 Makefile 文件是 Linux下非常重要的自动化构建工具, Makefile定义了项目的编译规则,指示make如何编译和链接源代码以生成可执行文件…

[wowoza]使用rtsp协议向wowza推流方法

1、测试前要关闭电脑防火墙 2、测试前要关闭推流验证功能 3、3、关闭回放验证功能 上面设置修改后,要点击restart重启 4、查看服务器ip、端口号、application test player可以预览推流的音视频 有时候需要缓存 url里面注意没有空格

牛客练习赛128(上)

Cidoai的幂次序列 题目描述 登录—专业IT笔试面试备考平台_牛客网 运行代码 #include <bits/stdc.h> using namespace std; signed main(){long long n,k;cin>>n>>k;cout<<2<<\n;cout<<n-1<< <<1<<\n;return 0; } 代…

D - 1D Country(AtCoder Beginner Contest 371)

题目链接: D - 1D Country (atcoder.jp) 题目描述: 数据范围: 输入输出: 题目分析: 典型的l, r 区间问题&#xff0c;即是前缀和问题&#xff0c;但是注意到数据范围, 数据范围1e-9 到 1e9 数据范围&#xff0c;要是从最小到最大直接for循环去模拟的话&#xff0c;时间复杂度…

CMake构建学习笔记16-使用VS进行CMake项目的开发

文章目录 1. 概论2. 详论2.1 创建工程2.2 加载工程2.3 配置文件2.4 工程配置2.5 调试执行 3. 项目案例4. 总结 1. 概论 在之前的系列博文中&#xff0c;我们学习了如何构建第三方的依赖库&#xff0c;也学习了如何去组建自己的CMake项目&#xff0c;尤其是学习了CMake的核心配…

分享六款小众宝藏软件,建议收藏!

分享6款小众却实用的宝藏电脑软件&#xff0c;个个都有独特的作用&#xff0c;可以提高效率、提升体验感&#xff01; 1.Clover 一个超轻量级的文件夹管理工具&#xff0c;跟 Windows 资源管理器差不多。但用 Clover 感觉就像用 Chrome 来整理文件似的。 它最棒的功能就是能像…

【python计算机视觉编程——10.OpenCV】

python计算机视觉编程——10.OpenCV 10.OpenCV10.2 OpenCV基础知识10.2.1 读取和写入图像10.2.2 颜色空间10.2.3 显示图像及结果 10.3 处理视频10.3.1 视频输入10.3.2 将视频读取到NumPy数组中 10.4 跟踪10.4.1 光流10.4.2 Lucas-Kanade算法使用跟踪器使用发生器 10.5 更多示例…

计算架构模式之负载均衡技巧

通用负载均衡算法 负载均衡算法 -轮询 & 随机 如果服务器挂掉了&#xff0c;那么负载均衡器还是可以感知到的&#xff0c;因为连接已经断掉了。 负载均衡算法-加权轮询 假设你有4核的和8核的&#xff0c;由于你的程序没有办法跑完CPU&#xff0c;那么有可能出现4核的和8核…

xmake vscode+clangd实现c/c++程序更精确跳转、补全

clangd相比与vscode自带的c/c插件要好用很多&#xff0c;使用xmake搭配vscode开发c/c程序时&#xff0c;可以通过下面方法使用clangd。 生成compile_commands.json 好像是叫什么compile database&#xff0c;xmake可以使用下面两种方式生成。 1、手动生成 xmake project -k…

[linux基础知识]教你使用vim和ctags阅读linux内核源码

1 安装ctags apt install ctags 2 内核源码目录下添加索引 使用下面命令&#xff0c;添加索引成功后&#xff0c;内核目录下会生成tags 索引文件。 ctags -R 3 vim使用索引阅读源码 跳转到函数变量定义与返回 #跳到函数或者变量定义 Ctrl] #返回 Ctrlo 光标移动到需要…

九九乘法表-for-python

for i in range(1, 10):for j in range(1, i):print(f"{j}*{i}{i*j}\t", end )print()运行结果截图&#xff1a;

Linux 离线安装 Docker

一、安装 docker 1. 下载 Docker 安装包 https://download.docker.com/linux/static/stable/x86_64/ 2. 解压安装包 tar -xvf docker-27.1.0.tgz mv docker/* /usr/bin/3. 将 docker 注册为 service 服务 vim /etc/systemd/system/docker.servicedocker.service [Unit] Des…

学习笔记 韩顺平 零基础30天学会Java(2024.9.14)

P547 Collections工具类2 P554 泛型引入 P555 泛型入门 ArrayList<Dog>arrayList new ArrayList<Dog>()//在这里可以理解为这个arrayList里面只能放Dog类型&#xff0c;就是限制了类型 P556 泛型说明 泛型就是可以代指一类数据类型&#xff0c;可以是Integer也可以…

哪个虚拟机软件在 Mac 上更好用,Mac 虚拟机会影响性能吗?

虚拟机如今已经成为许多用户工作生活不可缺少的工具之一&#xff0c;尤其是对于需要经常切换使用不同系统的用户来说&#xff0c;虚拟机提供了一个便捷而有效的操作平台&#xff0c;解决用户跨系统工作的问题。然而&#xff0c;当我们考虑在Mac上下载运行虚拟机时&#xff0c;会…

艾体宝洞察丨一文读懂最新密码存储方法,揭秘密码存储常见误区!

在信息安全的诸多领域之中&#xff0c;密码的安全存储无疑已然成为最为核心的问题之一。随着攻击技术的不断演进&#xff0c;传统的密码存储方法已无法抵御现代复杂的威胁。更为安全、健壮的密码存储机制也成为当代信息安全从业者的关注点。本篇文章将引入并介绍密码存储中的基…