sort部分

sort主要针对文件内容的操作,对文件内容进行匹配或者过滤,排序

grep 过滤  针对文本内容进行过滤,也就是查找

-i:忽略大小写默认的,可以不加

-n:显示匹配的行号

-c:只统计匹配的行数 (用的少)

-v:取反,把不包含查找的内容查找出来

grep的主要作用就是过滤文本内容,是针对行来进行处理

-m:多个匹配,可用限定显示的行数,匹配几次后停止

例:

-o:仅显示匹配到的字符串

-A:匹配到内容行后再向下展示几行,包含匹配到的行

grep  -A  2  "root"  /etc/passwd   

-B:匹配到的内容行再向上展示几行

-C(大写): 匹配到的内容行展示上下个几行

-e:逻辑或,可用匹配多个条件

例:grep  -e  root  -e  dn  -e  bash  /etc/passwd

实现多个选项间的逻辑关系,可以跟多个条件

-w:匹配整个单词

-E:使用扩展正则表达式   也可以用egrep

-f:根据两个文件的内容进行匹配,匹配两个文件中相同的内容

例:grep  -f   123.txt  456.txt

-r:递归目录,不处理软连接   grep  -r  "a"   /opt/

-R:递归目录,处理软连接,软连接的内容也显示出来

例:查找开头不含“#”的行   grep  -v  "^#"  test.sh

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

两种写法:sort  选项  参数

                  cat  文件名  |  sort  选项  

常用的选项:

-f:忽略大小写,默认会把大写的字母排在前面

-b:忽略每行前面的空格

-n:按照数字进行排序,按行号

-r:反向排序

-u:相同的数据只显示一行,去重

-o:输出的文件名,将排序后的结果转存到指定的文件

数字的优先级最高

字母和数字不要混合在一起排序

字母和数字不要混合在一块排序

例:要求按照原文本的顺序,输入到ky30.txt

cat  -n  /etc/passwd  |  sort  -n  -o  ky30.txt  

比sort更强大的去重的命令:uniq   用于报告或忽略文件中连续出现的重复行,经常和sort命令结合使用

两种命令格式:uniq  格式  参数

                         cat  文件名   |  uniq  选项

uniq  -c:统计连续重复的行的次数,并且合并重复的行并打印,不会改变文件内容

-u:显示仅出现一次的行,包括不连续的重复行

-d:仅显示重复出现的行,必须是连续的重复行

sort经常和uniq一起使用    例:sort  -n  test.sh  |  uniq  -c

先排序再输出,只对打印的结果有影响,对文件没影响

tr:对来自标准输入的字符进行替换,压缩及删除

格式:tr  选项  参数        也可以结合"|"进行使用

常用选项:-c:保留字符集1的字符,用字符集2来替换

例:echo  192.168.88.10  |   tr  "."  " "    把 .  换成空格

例2:echo  ABC  |  tr  "A-Z"  "a-z"  匹配前面的内容把大写换成小写

用引号引起来的都是正则表达式

例:echo  abc  |  tr  -c  "ab"  "t"      保留ab,替换c变成t

-d:删除指定的字符集

-s:把重复出现的字符串压缩成一个字符串,也可以替换

-t:默认就是替换,可以不写

tr主要的作用是把不想要的部分删除掉

cut:截取,和awk有相似之处,对字段进行截取和裁剪

格式:cut  选项  参数

           cat  文件名  |  cut  选项

常用选项:-d:指定分割符,默认的分隔符是tab,不是空格,指定分隔符要用引号引起来

awk的默认分隔符是空格,多个空格也会算一个

例:cut  -d  ":"  -f  1-3  /etc/passwd

1-3为1到3      1,3为1和3

-f:按字段进行截取,指定要截取第几个字段,指定输出列

面试题:

split:文件拆分,把大文件拆分成若干小文件

-l:根据行数来拆分

面试点

例:split  -l  20  passwd  ky30

ky30为切割后的文件名,必须指定,否则会报错

一般来说都会指定一个名称,方便识别

-b:指定文件大小拆分

例:split  -b  文件名  切割的文件名

面试题:paste和cat之间的区别

答:paste是左右合并,cat是上下合并,但只是临时生效

paste:文件合并     

paste  123  456  

永久生效:paste  123  456  >  test.txt

面试题:笔试部分

统计当前主机的连接状态

listen:监听,等待连接,谁可以连接

estab:已经建立连接,并且连接处于活动状态

ss  -nt  |  tr  "s"  |  cut  -d  " "  -f  3  |  sort  -n  |  uniq  -c

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 列表 sort()函数使用详解

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 sort函数使用详解 1、升序降序2、sort()和sorted()的区别3、切片排序4、指定排序…

地面点云提取:Autoware预处理ray_ground_filter节点解析 + 解决ray_ground_filter无输出的问题

文章目录 一、解决Autoware的ray_ground_filter节点无点云输出的问题二、ray_ground_filter节点代码分析2.1.监听bask_link和velodyne之间的TF2.2 裁切过高点云2.3 消除雷达近身反射点的影响2.4 角度和距离微分(转换到柱坐标)2.5 地面判断(核心部分) 一、…

Python numpy求均值、保留几位小数

import numpy as nplist_test [0.21, 0.32]print(f{np.mean(list_test):.2f}) #保留两位小数 print(f{np.mean(list_test):.3f}) #保留三位小数

网络虚拟化相关的Linux接口介绍

Linux拥有丰富的网络虚拟化功能,能被虚拟机,容器还有云网络使用。在这篇文章中,我会给出所有通用网络虚拟化接口的简要介绍。没有代码分析,只有简短的接口介绍和在Linux上的使用操作。这系列接口都可以使用ip link命令实现。 这篇…

Linux进程控制(一)---进程创建和终止(写时拷贝,exit与_exit等)

目录 进程创建 fork()函数 子进程如何继承父进程的数据 1.创建时拷贝分离 2.写时拷贝★ 进程终止 进程终止时,操作系统做了什么? 进程终止的常见方式 代码运行完毕,结果正确 退出码★ 代码运行完毕,结果不正确 代码异…

Echarts柱状图横向滚动,如何实现从后往前滚动

Echarts柱状图横向滚动,如何实现从后往前滚动 设置开始和结束的横坐标,设置产生横向滚动条

MVX-Net Multimodal VoxelNet for 3D Object Detection 论文学习

论文链接:MVX-Net Multimodal VoxelNet for 3D Object Detection 1. 解决了什么问题? 2D 目标检测取得了显著成效,但由于输入模态的本质区别,CNN 无法直接应用在 3D 检测任务。LiDAR 能准确地定位到 3D 空间的物体,基…

Spring Batch之读数据库——JdbcCursorItemReader之自定义PreparedStatementSetter(三十八)

一、自定义PreparedStatementSetter 详情参考我的另一篇博客: Spring Batch之读数据库——JdbcCursorItemReader(三十五)_人……杰的博客-CSDN博客 二、项目实例 1.项目实例 2.代码实现 BatchMain.java: package com.xj.dem…

electron+vue3全家桶+vite项目搭建【23】url唤醒应用,并传递参数

文章目录 引入实现效果实现步骤测试代码 引入 demo项目地址 很多场景下我们都希望通过url快速唤醒应用,例如百度网盘,在网页中唤醒应用,并传递下载链接,在electron中要实现这样的效果,就需要针对不同的平台做对应的处…

【数学建模】——相关系数

第一部分:皮尔逊相关系数的计算以及数据的描述性统计 本讲我们将介绍两种最为常见的相关系数:皮尔逊person相关系数和斯皮尔曼spearman等级相关系数。它们可以用来衡量两个变量之间的相关性的大小,根据数组满足的不同条件,我们要选…

3天学会Ascend C编程 | Day1 Ascend C基本概念及常用接口

本文分享自《【2023 CANN训练营第一季】——Ascend C算子开发入门——第一次课》,作者:weixin_54022960 。 Ascend C是华为昇腾面向算子开发场景的编程语言,使用C/C作为前端语言的算子开发工具,通过四层接口抽象、并行编程范式、…

微服务系列文章 之 Nginx状态监控日志分析详解

1、Nginx状态监控 Nginx提供了一个内置的状态信息监控页面可用于监控Nginx的整体访问情况,这个功能由ngx_http_stub_status_module模块进行实现。 使用nginx -V 2>&1 | grep -o with-http_stub_status_module命令检测当前Nginx是否有status功能&#xff0c…