Linux三剑客对数据处理

news2024/11/17 11:27:01

grep配合正则表达式可以灵活的查找文本内容。
但是有些时候我们不仅仅需要找出数据,还需要按照一定的规则进行整合,格式化排列

文本文件内有一百条规范数据,如下:

John Doe, 25, Engineer
Alice Smith, 30, Data Scientist
Bob Johnson, 22, Intern
Charlie Brown, 35, Manager
...

想要查找某条数据,或者符合条件的数据可以使用grep+正则,找出符合条件的行。
grep

grep -E '*John ' data.txt
用于查找名字首个单词时John的行

在这里插入图片描述
然而此时找出的数据,仍然是整行为单位,我们想把姓名,年龄,职业区分开或者对他们做什么处理时,grep就不够用了;这时候我们可以使用awk。


awk

awk -F ', '  '$2>30 { printf "名字: %s, 年龄: %d, 职业: %s \n", $1, $2, $3}' data.txt
-F 接受字符串作为分割符,也可以是正则表达式
pattern{内置语句 }实现对文本项匹配和对分割后的元素进行处理

在这里插入图片描述

sed
主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

...  | sed 's/职业: /job: /'
's/old/new/'
用新内容代替传入的旧内容

在这里插入图片描述
组合:找出文件中大于25岁的人,将他们的信息格式化显示
在这里插入图片描述

#!/bin/bash
INPUT_FILE="data.txt"
echo "---------------年龄大于25岁的人---------------"
grep -E ', [2][6-9]|, [3-9][0-9]' "$INPUT_FILE" | \
awk -F ', '  '{ printf "名字: %s, 年龄: %d, 职业: %s \n", $1, $2, $3}' | \
sed 's/职业: /job: /'

[2][6-9]|, [3-9][0-9]' 表示匹配包含26-29或30-99的行
grep:
过滤/搜索的特定字符。可使用正则表达式能配合多种命令使用
-E 扩展正则表达式
awk:
-F fs fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:,默认的分隔符是连续的空格或制表符
-v var=value 赋值一个用户定义变量,将外部变量传递给awk
-f scripfile 从脚本文件中读取awk命令

sed:
options:可选参数,用于控制 sed 的行为。
command:要执行的命令,通常是替换、删除等。
file:输入的文本文件。

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

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

相关文章

不将“旧”,换新家电的门槛又被TCL拉低了

在不同的时代背景中,“新旧”两字所代表的消费含义在不断更迭。过去物质匮乏的年代,“新三年,旧三年,缝缝补补又三年”的俭朴消费观贯穿了国人的生活。随着经济发展,“旧的不去,新的不来”逐渐成为社会消费…

市场调研利器 网络问卷的优势及面临的挑战

网络问卷作为市场调研工具,高效便捷、成本低廉、数据准确度高且灵活多样。但其低响应率、数据偏差、隐私与安全及技术依赖等挑战也需关注。企业应优化调研方法,应对挑战,以获取全面市场信息。 一、网络问卷的优势 首先,我们来分析…

【频分复用】5G中OFDM和GFDM的比较(频谱效率、误码率、星座图、复杂度)【附MATLAB代码及报告】

微信公众号:EW Frontier QQ交流群:554073254 背景 5G需要满足低延迟、高数据速率、连接密度和其他应用需求,这些应用需要增强的移动的宽带、超可靠和低延迟连接以及海量机器类型连接[1]。这种通信所需的信道容量受到噪声、衰减、失真和符号间…

千亿大数据不为人知的数据库缺陷——中看不中用的设置——MySQL大数据优化

一、数据插入之后变了2147483647 在 MySQL 数据库的操作中,我们常常会遇到各种意想不到的情况。其中,当插入日志数据时,如果没有对数据的大小和范围进行有效的控制,就可能会引发一系列问题。想象一下这样的场景:我们…

花都狮岭寄宿自闭症学校:开启孩子的生命之门

在花都狮岭这片充满温情的土地上,有一所特别的学校,它像一把钥匙,轻轻旋转,为自闭症儿童们开启了一扇通往无限可能的生命之门——这就是广州星贝育园自闭症儿童寄宿制学校。这所学校不仅是知识的摇篮,更是孩子们心灵成…

BACnet-NPDU(4)

前面抓取了BACnet 的UDP和RS485数据进行分析,现在做一下总结。 BACnet不管是走UDP还是RS485,里面的NPDU和APDU数据结构是一样的,只是BACnet的头不一样,这里做一下总结。 1、UDP的BACnet 头 BACnet/IP 使用 UDP 协议进行数据传输&a…

spring cloud Gateway网关

网关是将所有面向用户的服务接口统一管理的代理服务器,所有内部服务的远程调用都是在局域网内部,而网关是在公网中。 一、依赖 通过访问网关调用项目中的服务,需要使用Eureka,网关服务器需要在Eureka服务注册它自己,本…

【C++报错已解决】std::ios_base::floatfield

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

The 2024 CCPC Online Contest (C I J三题思路)

写在前面 因为学弟已经问了几个题了,于是乎这场没有vp,准备直接开写了 题目 C. 种树(树形dp) 题解 只有两种情况, 一种是1-2-3,1是2的父亲,2是3的父亲 另一种是1-2-3,2同时是1…

新手如何使用Qt——方法使用

前言 那么这篇文章其实是我在使用Qt的过程当中呢,我发现在Qt使用过程中,在我理解信号和槽这个概念后,在编写槽函数数的时候,发现了自身存在的问题,我的难点是在于当我在编写槽函数的时候,我知道这个槽函数是…

GD32片内flash读写数据

如有技术问题及技术需求请加作者微信! GD32片内Flash的读写数据是微控制器编程中的常见任务,主要用于存储程序代码、配置参数或用户数据等。以下将详细介绍GD32片内Flash的读写数据方法和程序。 一、GD32 Flash的基本特性 存储空间划分:GD32的Flash存储空间通常分为主存储块…

W39-02-jmeter中如何实现:下一个请求是需要根据前一个请求返回值进行循环请求

业务压测需求: 查询和上报接口, 1.查询接口返回的数据有好几条需要上报的数据 2.查询接口中返回的每条数据中,有两个字段需要传递到上报接口 3.查询接口中,这两个字段一个为int型,一个为数组[1,2,3,4] 实现方式 …

大模型算法岗常见面试题100道(非常详细)零基础入门到精通,收藏这一篇就够了

大模型应该是目前当之无愧的最有影响力的AI技术,它正在革新各个行业,包括自然语言处理、机器翻译、内容创作和客户服务等等,正在成为未来商业环境的重要组成部分。 截至目前大模型已经超过200个,在大模型纵横的时代,不…

2条件欧几里得聚类

条件欧几里得聚类 本教程介绍如何使用类: 一种分割算法,根据欧几里得距离和需要保持的用户可自定义条件对点进行聚类。pcl::ConditionalEuclideanClustering 此类使用与 Euclidean Cluster Extraction、Region growing segmentation 和 Color-based …

以太网交换安全:端口隔离

一、端口隔离 以太交换网络中为了实现报文之间的二层广播域的隔离,用户通常将不同的端口加人不同的 VLAN大型网络中,业务需求种类繁多,只通过 VLAN实现报文的二层隔离,会浪费有限的VLAN资源。而采用端口隔离功能,则可…

【Verilog学习日常】—牛客网刷题—Verilog企业真题—VL66

超前进位加法器 描述 题目描述: 求两个四位的数据编写一个四位的超前进位加法器,建议使用子模块 提示:超前进位加法器的位公式如下 这里‘’ ‘’符号不是‘加’和‘乘’,是‘或’和 ‘与’ 波形示意图: 输入…

履带机器人运动模型分析

履带机器人运动学模型分析 滑动转向 履带机器人单侧履带可等效视为“无穷多个小轮子”,且这单侧的“无穷多个小轮子”的“转速”是一致的。所以,履带式机器人的转向方式和四轮驱动机器人(SSMR)的是一致的,也是滑动转向。 因此,下…

供应链 | 顶刊POMS论文精读:交易成本经济学(TCE)——供应链效率理论

编者按 供应链效率提升指南:不可不知的TCE理论视角 本文为Production and Operations Management 期刊论文,原文信息: Ketokivi, M., & Mahoney, J. T. (2020). Transaction cost economics as a theory of supply chain efficiency. …

CentOS 替换 yum源 经验分享

视频教程在bilibili:CentOS 替换 yum源 经验分享_哔哩哔哩_bilibili问题原因 解决方法 1. 进入镜像目录 [rootlocalhost ~]# cd /etc/yum.repos.d/ 2.备份文件 [rootlocalhost yum.repos.d]# rename repo bak * 3.寻找阿里镜像源复制 https://developer.aliyun.com/mirror/ …

文件操作Tips,一次搞懂Python中open与with open的差异

前几天在群里看到,有小伙伴在问,为什么代码中打开文件有的时候用open,有的时候用with open,一会close,一会又没有close,真让人摸不着头脑。我们来看一看,这究竟是怎么回事。 在Python中&#xf…