Linux文本处理工具【tr、cut、sort、uniq】

2024-05-10 20:04

本文主要是介绍Linux文本处理工具【tr、cut、sort、uniq】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. tr 命令——替换、压缩、删除

tr (Text Replacer) 命令常用来对来自标准输入的字符进行替换、压缩和删除。

命令格式 :tr [选项]... SET1 [SET2]

(SET 是一组字符串,一般都可按照字面含义理解)

选项:

-d 删除

-s 压缩

tr  1 a    //遇到1换成

tr -d 1  //把1删除

tr -s 1   //压缩连续的1

tr -s " "//压缩连续的空格

tr '[a-z]''[A-Z]'                        //将所有小写字母替换为大写

`cat file | tr [选项] 参数`

生成随机密码:

cat /dev/urandom |tr -dc '[:alnum:]'|head -c12

2. cut命令——切列

cut 命令可以提取文本文件数据的指定列。

命令格式 : cut [选项]... [文件]...

选项:

-d 指明分隔符

-f 想要获取的字段

#: 第#个字段,例如 3

#,#[,#]:离散的多个字段,例如 1,3,6

#-#:连续的多个字段, 例如 1-6

cut -d: -f1,3/etc/passwd |head  //以冒号作为分隔的条件,取文件的第1列和第3列

`cat file | cut [选项] 参数`

注意!不能将连续的字符当作分隔符

df文件系统                 

df  |cut -d" " -f1,5   //以空格为分隔符,取第1和第5列文件系统

 //内容错误,因为有连续的空格,不能将连续的字符当作分隔符!

df |tr -s " "|cut -d" "-f1,5//先将空行压缩成一个,再提取文件系统 已用%

df |tail -n +2|tr  -s  " " |cut -d  " "  -f5|tr   -d   //去除百分号,对比数字

3. sort命令——排序

把整理过的文本显示在屏幕上,不改变原始文件。sort将文件的每一行作为一个单位相互比较,比较原则是从首字符向后依次按ASCII码进行比较,最后将它们按升序输出。

命令格式 : sort [options] file(s)

选项:

  • -n 按照数字大小进行排序(默认升序)
  • -r 倒序排序
  • -k 指定列
  • -t 指定分隔符

4. uniq命令——去重

uniq(unique 唯一)是一个用于文本处理中删除重复行的工具(只能将连续的重去掉),常与sort命令结合使用。

命令格式 : uniq [OPTION]... [FILE]...

选项:

-c 显示每行重复出现的次数

-u 仅显示不曾重复的行

-d 仅显示重复过的行

去重

显示每行重复出现的次数 

仅显示不曾重复的行

仅显示重复过的行

`cat file | uniq 选项`

`面试题:`查看访问日志,找出访问前10名的用户

cat  access_log  |cut  -d  "  "  -f1 |sort  -n |uniq  -c |sort  -nr |head

cat access_log |cut  -d" "  -f1     //先取地址

cat access_log |cut  -d" "  -f1|sort  //再排序一样的ip地址在一起

cat access_log |cut  -d" "  -f1|sort|uniq  -c  //去重

cat access_log |cut  -d" "  -f1|sort|uniq   -c|sort  -nr   |head  //再数字排序,取前10行

5. seq命令

seq命令是 sequence 的缩写,用于打印数字序列。

求1-6的和,bc是计算命令21

这篇关于Linux文本处理工具【tr、cut、sort、uniq】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/977422

相关文章

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

linux解压缩 xxx.jar文件进行内部操作过程

《linux解压缩xxx.jar文件进行内部操作过程》:本文主要介绍linux解压缩xxx.jar文件进行内部操作,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、解压文件二、压缩文件总结一、解压文件1、把 xxx.jar 文件放在服务器上,并进入当前目录#

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核