当前位置: 首页 > news >正文

Linux文本处理指令汇总

Linux文本处理命令主要包括以下几种:

  1. grep:用于在文件中搜索包含指定字符串的行。
[root@hanyw-bash-python ~]# grep 'root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
  1. awk:用于在文件中进行模式扫描和处理,可以根据指定的模式对文件进行处理。
[root@hanyw-bash-python ~]# awk '/root/' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
  1. sed:用于流编辑器,可以对文本文件进行替换、删除、插入等操作。
[root@hanyw-bash-python ~]# sed -n /root/p /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@hanyw-bash-python ~]# sed -n '/root/p' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@hanyw-bash-python ~]# sed -n "/root/p" /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@hanyw-bash-python ~]# sed -n '''/root/p''' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@hanyw-bash-python ~]# sed -n """/root/p""" /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
  1. cut:用于按列截取文件内容。
[root@hanyw-bash-python ~]# cut -d: -f1 /etc/passwd | head
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
  1. sort:用于对文本文件进行排序。
[root@hanyw-bash-python ~]# sort /etc/passwd | head
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
boss:x:1002:1002:两组老板可查账号:/home/boss:/sbin/nologin
chrony:x:997:995:chrony system user:/var/lib/chrony:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
flatpak:x:987:984:User for flatpak system helper:/:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
geoclue:x:989:986:User for geoclue:/var/lib/geoclue:/sbin/nologin
  1. uniq:用于去除重复的行。
[root@hanyw-bash-python ~]# sort /etc/passwd | uniq -c | sort -rn | head1 zabbix:x:992:992:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin1 yfyg:x:1000:1000:公司研发组研发员工账号:/home/yfyg:/sbin/nologin1 xcyg:x:1001:1001:公司宣传组宣传员工账号:/home/xcyg:/sbin/nologin1 www:x:1003:1003::/home/www:/sbin/nologin1 tss:x:59:59:Account used for TPM access:/:/sbin/nologin1 systemd-oom:x:993:993:systemd Userspace OOM Killer:/:/usr/sbin/nologin1 systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin1 sync:x:5:0:sync:/sbin:/bin/sync1 sssd:x:998:996:User for sssd:/:/sbin/nologin1 sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin
  1. wc:用于统计文件中的行数、字数和字节数。
[root@hanyw-bash-python ~]# wc < /etc/passwd32   68 1717
  1. tr:用于字符转换或删除字符。

tr命令用于字符转换和删除。以下是一些例子:
将小写字母转换为大写字母:

[root@hanyw-bash-python ~]# echo "hello world" | tr 'a-z' 'A-Z'
HELLO WORLD

删除字符串中的空格:

[root@hanyw-bash-python ~]# echo "hello world" | tr -d ' '
helloworld

将数字转换为对应的英文字母:

[root@hanyw-bash-python ~]# echo "1234567890" | tr '1234567890' 'abcdefghij'
abcdefghij

将多个字符替换为一个字符:

[root@hanyw-bash-python ~]# echo "hello world" | tr 'My name is hanyw' '*'
**llo**orld
  1. paste:用于合并文件的每行。
[root@hanyw-bash-python ~]# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
[root@hanyw-bash-python ~]# head /etc/shadow
root:$6$m04vxfuOCpe/BEMs$hMLXhWnxjKLXsuN2dq97qfOiExucrI9N7OGWyAQajsA2AZmVTvc7haF9muP2YPioAGxh5vWuKX8skfWCEOp/G1::0:99999:7:::
bin:*:19347:0:99999:7:::
daemon:*:19347:0:99999:7:::
adm:*:19347:0:99999:7:::
lp:*:19347:0:99999:7:::
sync:*:19347:0:99999:7:::
shutdown:*:19347:0:99999:7:::
halt:*:19347:0:99999:7:::
mail:*:19347:0:99999:7:::
operator:*:19347:0:99999:7:::
[root@hanyw-bash-python ~]# paste -d':' /etc/passwd /etc/shadow > /opt/passwd-shadow.txt
[root@hanyw-bash-python ~]# cat /opt/passwd-shadow.txt
root:x:0:0:root:/root:/bin/bash:root:$6$m04vxfuOCpe/BEMs$hMLXhWnxjKLXsuN2dq97qfOiExucrI9N7OGWyAQajsA2AZmVTvc7haF9muP2YPioAGxh5vWuKX8skfWCEOp/G1::0:99999:7:::
bin:x:1:1:bin:/bin:/sbin/nologin:bin:*:19347:0:99999:7:::
daemon:x:2:2:daemon:/sbin:/sbin/nologin:daemon:*:19347:0:99999:7:::
adm:x:3:4:adm:/var/adm:/sbin/nologin:adm:*:19347:0:99999:7:::
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin:lp:*:19347:0:99999:7:::
sync:x:5:0:sync:/sbin:/bin/sync:sync:*:19347:0:99999:7:::
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown:shutdown:*:19347:0:99999:7:::
halt:x:7:0:halt:/sbin:/sbin/halt:halt:*:19347:0:99999:7:::
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin:mail:*:19347:0:99999:7:::
operator:x:11:0:operator:/root:/sbin/nologin:operator:*:19347:0:99999:7:::
games:x:12:100:games:/usr/games:/sbin/nologin:games:*:19347:0:99999:7:::
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin:ftp:*:19347:0:99999:7:::
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin:nobody:*:19347:0:99999:7:::
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin:systemd-coredump:!!:19687::::::
dbus:x:81:81:System message bus:/:/sbin/nologin:dbus:!!:19687::::::
tss:x:59:59:Account used for TPM access:/:/sbin/nologin:tss:!!:19687::::::
sssd:x:998:996:User for sssd:/:/sbin/nologin:sssd:!!:19687::::::
chrony:x:997:995:chrony system user:/var/lib/chrony:/sbin/nologin:chrony:!!:19687::::::
sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin:sshd:!!:19687::::::
systemd-oom:x:993:993:systemd Userspace OOM Killer:/:/usr/sbin/nologin:systemd-oom:!*:19687::::::
zabbix:x:992:992:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin:zabbix:!!:19690::::::
nginx:x:991:991::/home/nginx:/sbin/nologin:nginx:!!:19694::::::
yfyg:x:1000:1000:公司研发组研发员工账号:/home/yfyg:/sbin/nologin:yfyg:!!:19726:0:99999:7:::
xcyg:x:1001:1001:公司宣传组宣传员工账号:/home/xcyg:/sbin/nologin:xcyg:!!:19726:0:99999:7:::
boss:x:1002:1002:两组老板可查账号:/home/boss:/sbin/nologin:boss:!!:19726:0:99999:7:::
polkitd:x:990:987:User for polkitd:/:/sbin/nologin:polkitd:!!:19730::::::
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin:rtkit:!!:19730::::::
geoclue:x:989:986:User for geoclue:/var/lib/geoclue:/sbin/nologin:geoclue:!!:19730::::::
pipewire:x:988:985:PipeWire System Daemon:/var/run/pipewire:/sbin/nologin:pipewire:!!:19730::::::
flatpak:x:987:984:User for flatpak system helper:/:/sbin/nologin:flatpak:!!:19730::::::
pesign:x:986:983:Group for the pesign signing daemon:/run/pesign:/sbin/nologin:pesign:!!:19730::::::
www:x:1003:1003::/home/www:/sbin/nologin:www:!!:19731:0:99999:7:::
  1. tail:用于显示文件末尾的内容。
[root@hanyw-bash-python ~]# tail /etc/passwd
yfyg:x:1000:1000:公司研发组研发员工账号:/home/yfyg:/sbin/nologin
xcyg:x:1001:1001:公司宣传组宣传员工账号:/home/xcyg:/sbin/nologin
boss:x:1002:1002:两组老板可查账号:/home/boss:/sbin/nologin
polkitd:x:990:987:User for polkitd:/:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
geoclue:x:989:986:User for geoclue:/var/lib/geoclue:/sbin/nologin
pipewire:x:988:985:PipeWire System Daemon:/var/run/pipewire:/sbin/nologin
flatpak:x:987:984:User for flatpak system helper:/:/sbin/nologin
pesign:x:986:983:Group for the pesign signing daemon:/run/pesign:/sbin/nologin
www:x:1003:1003::/home/www:/sbin/nologin

相关文章:

Linux文本处理指令汇总

Linux文本处理命令主要包括以下几种&#xff1a; grep&#xff1a;用于在文件中搜索包含指定字符串的行。 [roothanyw-bash-python ~]# grep root /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologinawk&#xff1a;用于在文件中进行…...

Prompt Engineering

目录 什么是提示工程 什么是提示工程 在当今人工智能领域&#xff0c;提问大型语言模型&#xff08;Large Language Models&#xff0c;LLM&#xff09;已经成为一种常见的实践&#xff0c;但如何向这些模型提出问题&#xff0c;或者更准确地说&#xff0c;如何引导它们产生期…...

Ansible剧本playbooks

playbooks概述 Ansible剧本&#xff08;playbook&#xff09;是用于配置、部署和管理被控节点的一种描述文件。通过编写详细的剧本描述和执行其中的任务&#xff08;tasks&#xff09;&#xff0c;可以使远程主机达到预期的状态。剧本由一个或多个"play"组成的列表构…...

Excel·VBA时间范围筛选及批量删除整行

看到一个帖子《excel吧-筛选开始时间&#xff0c;结束时间范围内的所有记录》&#xff0c;根据条件表中的开始时间和结束时间构成的时间范围&#xff0c;对数据表中的开始时间和结束时间范围内的数据进行筛选 目录 批量删除整行&#xff0c;整体删除批量删除整行&#xff0c;分…...

Map转成String,String 转换成Map

一、使用场景 把一个map转换成json字符串后存放在Redis中&#xff0c;然后在redis中取出json字符串&#xff0c;再把字符串转变成原来的Map 二、具体实现 1.1 Map转成String 这里使用是阿里巴巴fastjson Map<String, Object> reportData dssDashboardService.getRep…...

分享一个剧本(改编自我)

不知道是不是错过了一个喜欢我的女孩&#xff0c;一个很不错的女孩&#xff0c;当初没勇气表白。去年表白过但女孩表示仅想是永远的朋友&#xff0c;今天翻他的朋友圈发现2021年我生日时&#xff0c;她分享了这首歌曲&#xff0c;还评论Best wishes!!!&#xff0c;高中有一次我…...

结合Tensuns管理prometheus的blackbox与告警设置

场景说明&#xff1a; 因为业务服务器已经完成了三级等保&#xff0c;禁止在业务服务器上部署任何应用&#xff0c;遂选择一台新的服务器部署prometheus&#xff0c;采用blackbox_exporter监控业务服务器的端口与域名状态。 Tensuns项目介绍 https://github.com/starsliao/T…...

printf实现

这是我看之前公司的旧代码摘录下来的, 感觉写的还算可以吧, void printfsend(UART_TypeDef UARTx, uint8_t *buf, int len) {uint8_t printbuf[256];for (int i 0; i < len; i){printbuf[i] buf[i];}#ifdef ENABLE_PERIAL_TESTif (uart_printf_switch_gloab){UART_Send…...

Elasticsearch 中的 term、terms 和 match 查询

目录 term 查询 terms 查询 match 查询 注意事项 结论 Elasticsearch 提供了多种查询类型&#xff0c;用于不同的搜索需求。term、terms 和 match 是其中最常用的一些查询类型。下面分别介绍每种查询类型的用法和特点。 term 查询 term 查询用于精确值匹配。它通常用于关…...

美易官方:开盘:美股高开科技股领涨 标普指数创盘中新高

**开盘&#xff1a;美股高开科技股领涨 标普指数创盘中新高** 在周三的交易中&#xff0c;美国股市高开&#xff0c;科技股领涨市场&#xff0c;标普500指数创下盘中新高。投资者对经济复苏的乐观情绪以及对科技公司业绩的看好&#xff0c;共同推动了市场的上涨。 盘初&#xf…...

STM32F407移植OpenHarmony笔记2

接上篇&#xff0c;搭建完开发环境后&#xff0c;我们还要继续工作。 官方合作的开发板刚好有STM32F407&#xff0c;我准备试一下开发板的demo&#xff0c;虽然我用的不是他们的开发板。 先下载以下3份代码&#xff1a; https://gitee.com/openharmony/device_board_talkweb…...

数据仓库-相关概念

简介 数据仓库是一个用于集成、存储和管理大量数据的系统。它用于支持企业决策制定过程中的数据分析和报告需求。数据仓库从多个来源收集和整合数据&#xff0c;并将其组织成易于查询和分析的结构。 数据仓库的主要目标是提供高性能的数据访问和分析能力&#xff0c;以便…...

线程的面试八股

​ Callable接口 Callable是一个interface,相当于给线程封装了一个返回值,方便程序猿借助多线程的方式计算结果. 创建一个匿名内部类, 实现 Callable 接口. Callable 带有泛型参数. 泛型参数表示返回值的类型. 重写 Callable 的 call 方法, 完成累加的过程. 直接通过返回值返…...

Jmeter 配置元件

Jmeter 配置元件 CSV 数据集配置HTTP Cookie 管理器HTTP Header 信息头管理器增加多个用户案列 使用Jmeter发送请求的时候&#xff0c;需要配置元件&#xff0c;配置请求Header、Cookie、数据集合等。可以模拟多个在线用户登录&#xff0c;修改请求头数据。 CSV 数据集配置 C…...

Java- @FunctionalInterface声明一个接口为函数式接口

基本介绍 FunctionalInterface 是 Java 8 中引入的注解&#xff0c;用于声明一个接口是函数式接口。函数式接口是指仅包含一个抽象方法的接口&#xff0c;可以用于支持 Lambda 表达式和方法引用。FunctionalInterface 注解确保该接口只包含一个抽象方法&#xff0c;从而确保其…...

Java使用Netty实现端口转发Http代理Sock5代理服务器

Java使用Netty实现端口转发&Http代理&Sock5代理服务器.md 一、简介1.功能2.参数配置3.程序下载4.程序启动5.源码 一、简介 这里总结整理了之前使用Java写的端口转发、Http代理、Sock5代理程序&#xff0c;放在同一个工程中&#xff0c;方便使用。 开发语言&#xff1a…...

Linux环境docker安装Neo4j,以及Neo4j新手入门教学(超详细版本)

目录 1、 图数据库Neo4j简介1.1 什么是图数据库1.2 能解决什么痛点1.3 对比关系型数据库1.4 什么是Neo4j1.5 Neo4j的构建元素 2. 环境搭建2.1 安装Neo4j Community Server2.2 docker 安装Neo4j Community Server2.3 Neo4j Desktop安装 3. Neo4j - CQL使用3.1 Neo4j - CQL简介3.…...

C++ inline 关键字有什么做用?

C/C 之中 inline 是一个很有意思的关键字&#xff0c;奇奇怪怪的用法见过不少&#xff0c;今天抽点时间出来聊聊这个东西。 inline 可以用在那些方面&#xff1f;修饰 inline 内链关键字到底有什么作用&#xff1f; OK&#xff1a;started 1、inline 可以用在类成员函数的声明…...

eNSP学习——理解ARP及Proxy ARP

目录 名词解释 实验内容 实验目的 实验步骤 实验拓扑 配置过程 基础配置 配置静态ARP 名词解释 ARP (Address Resolution Protocol)是用来将IP地址解析为MAC地址的协议。ARP表项可以分为动态和静态两种类型。   动态ARP是利用ARP广播报文&#xff0c;动态执行并自动进…...

Unity中UGUI在Mask剪裁粒子特效的实现

在Unity使用Mask是剪裁不了粒子特效的&#xff0c;之前有想过RenderTexture来实现&#xff0c;不过使用RenderTexture不适合用于很多个特效&#xff0c;因为RenderTexture依赖Camera的照射&#xff0c;如果在背包中每种道具都有不同的特效&#xff0c;那使用RenderTexture则需要…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础

第三周 Day 3 &#x1f3af; 今日目标 理解类&#xff08;class&#xff09;和对象&#xff08;object&#xff09;的关系学会定义类的属性、方法和构造函数&#xff08;init&#xff09;掌握对象的创建与使用初识封装、继承和多态的基本概念&#xff08;预告&#xff09; &a…...

微服务通信安全:深入解析mTLS的原理与实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言&#xff1a;微服务时代的通信安全挑战 随着云原生和微服务架构的普及&#xff0c;服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...