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使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

基于C#实现PDF文件合并工具

《基于C#实现PDF文件合并工具》这篇文章主要为大家详细介绍了如何基于C#实现一个简单的PDF文件合并工具,文中的示例代码简洁易懂,有需要的小伙伴可以跟随小编一起学习一下... 界面主要用于发票PDF文件的合并。经常出差要报销的很有用。代码using System;using System.Col

redis-cli命令行工具的使用小结

《redis-cli命令行工具的使用小结》redis-cli是Redis的命令行客户端,支持多种参数用于连接、操作和管理Redis数据库,本文给大家介绍redis-cli命令行工具的使用小结,感兴趣的... 目录基本连接参数基本连接方式连接远程服务器带密码连接操作与格式参数-r参数重复执行命令-i参数指定命

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

什么是 Linux Mint? 适合初学者体验的桌面操作系统

《什么是LinuxMint?适合初学者体验的桌面操作系统》今天带你全面了解LinuxMint,包括它的历史、功能、版本以及独特亮点,话不多说,马上开始吧... linux Mint 是一款基于 Ubuntu 和 Debian 的知名发行版,它的用户体验非常友好,深受广大 Linux 爱好者和日常用户的青睐,

Linux(Centos7)安装Mysql/Redis/MinIO方式

《Linux(Centos7)安装Mysql/Redis/MinIO方式》文章总结:介绍了如何安装MySQL和Redis,以及如何配置它们为开机自启,还详细讲解了如何安装MinIO,包括配置Syste... 目录安装mysql安装Redis安装MinIO总结安装Mysql安装Redis搜索Red