CentOS 7 实战指南:文本处理命令详解

前言

在Linux系统中,文本处理是非常基础却又必不可少的一项技能。如果你正在使用CentOS系统,那么学会如何利用文本操作命令来高效地处理文本文件无疑将会是一个强有力的工具。

本篇文章将介绍一些最常用和最实用的文本操作命令,并通过详尽的示例演示了它们的具体用法。学习到这些技能后,你将能够轻松完成对大量文本数据的快速处理、搜索和编辑。

如果你是一名Linux新手或者对文本处理命令不熟悉的用户,这篇文章绝对是必读的!

文本处理命令

cat

在 CentOS 7 系统中,cat 命令的语法、可选参数和使用示例如下:

语法:

cat [OPTION] [FILE]

可选参数:

  • -n, --number 行号
  • -b, --number-nonblank 显示非空白行的行号
  • -s, --squeeze-blank 将连续多个空白行压缩为一个空白行
  • -v, --show-nonprinting 显示非打印字符
  • -e 在每行末尾显示 $ 符号
  • -T 将制表符(Tab)转换为 ^I
  • -A 相当于 -vET 三个参数同时使用

使用示例:

  • 查看文件内容:
# 显示文件 file.txt 的内容 cat file1.txt file2.txt # 将文件 file1.txt 和 file2.txt 的内容依次显示在命令行中
cat file.txt 
  • 显示行号:
cat -n file.txt    # 显示文件 file.txt 的每一行行号
cat -b file.txt    # 显示文件 file.txt 中非空白行的行号
  • 压缩空白行:
cat -s file.txt    # 将文件 file.txt 的连续多个空白行压缩为一个空白行
  • 显示非打印字符:
cat -v file.txt # 显示文件 file.txt 中的非打印字符,如制表符、回车符等
  • 将制表符转换为 ^I:
cat -T file.txt # 将文件 file.txt 中的制表符(Tab)转换为 ^I
  • 在每行末尾显示 $ 符号:
cat -e file.txt # 在文件 file.txt 的每一行末尾显示 $ 符号
  • 组合使用:
cat -n -s file.txt    # 显示文件 file.txt 的每一行行号,并将连续多个空白行压缩为一个空白行
cat -vET file.txt     # 显示文件 file.txt 的内容,并将非打印字符、制表符和行尾符号可视化

head

在 CentOS 7 系统中,head 命令用于显示文件的开头部分。以下是 head 命令的语法、可选参数和使用示例:

语法:

head [OPTION] [FILE]

可选参数:

  • -n NUM, --lines=NUM 显示文件的前 NUM 行
  • -c NUM, --bytes=NUM 显示文件的前 NUM 个字节
  • -q, --quiet 不显示文件名
  • -v, --verbose 显示文件名

使用示例:

  • 显示文件的前几行:
head file.txt                 # 显示文件 file.txt 的前 10 行(默认为 10)
head -n 5 file.txt            # 显示文件 file.txt 的前 5 行
head -n 15 file.txt file2.txt   # 显示文件 file1.txt 和 file2.txt 的前 15 行
  • 显示文件的前几个字节:
head -c 100 file.txt          # 显示文件 file.txt 的前 100 个字节
head -c 1K file.txt           # 显示文件 file.txt 的前 1KB(1024 字节)
head -c 1M file.txt           # 显示文件 file.txt 的前 1MB(1048576 字节)
  • 静默模式,不显示文件名:
head -q file.txt # 只显示文件内容,不显示文件名
  • 显示文件名:
head -v file.txt # 显示文件名和文件内容

注意:如果不指定文件名,则 head 命令将从标准输入读取数据。可以使用管道符号将其他命令的输出作为 head 命令的输入。

示例:

ls -l | head -n 10            # 列出当前目录下所有文件的详细信息,并显示前 10 行
tail -f /opt/dir/file.txt | head -n 20    # 实时显示系统日志文件的最新内容,并显示前 20 行

tail

在 CentOS 7 系统中,tail 命令用于显示文件的末尾部分。以下是 tail 命令的语法、可选参数和使用示例:

语法:

tail [OPTION] [FILE]

可选参数:

  • -n NUM, --lines=NUM 显示文件的后 NUM 行
  • -c NUM, --bytes=NUM 显示文件的后 NUM 个字节
  • -f, --follow 动态显示文件的新增内容
  • -q, --quiet 不显示文件名
  • -v, --verbose 显示文件名

使用示例:

  • 显示文件的后几行:
tail file.txt                 # 显示文件 file.txt 的后 10 行(默认为 10)
tail -n 5 file.txt            # 显示文件 file.txt 的后 5 行
tail -n +5 file.txt           # 从第 5 行开始显示文件 file.txt 的内容
tail -n 15 file1.txt file2.txt   # 显示文件 file1.txt 和 file2.txt 的后 15 行
  • 显示文件的后几个字节:
tail -c 100 file.txt          # 显示文件 file.txt 的后 100 个字节
tail -c 1K file.txt           # 显示文件 file.txt 的后 1KB(1024 字节)
tail -c 1M file.txt           # 显示文件 file.txt 的后 1MB(1048576 字节)
  • 动态显示文件的新增内容:
tail -f file.txt              # 动态显示文件 file.txt 的末尾内容,并持续更新
  • 静默模式,不显示文件名:
tail -q file.txt # 只显示文件内容,不显示文件名
  • 显示文件名:
tail -v file.txt # 显示文件名和文件内容

注意:如果不指定文件名,则 tail 命令将从标准输入读取数据。可以使用管道符号将其他命令的输出作为 tail 命令的输入。

示例:

ls -l | tail -n 10            # 列出当前目录下所有文件的详细信息,并显示最后 10 行
tail -f /var/log/syslog       # 实时显示系统日志文件的新增内容

grep

在 CentOS 7 系统中,grep 命令用于在文件中搜索指定模式的文本行。以下是 grep 命令的语法、可选参数和使用示例:

语法:

grep [OPTIONS] PATTERN [FILE]

可选参数:

  • -c, --count 只显示匹配的行数
  • -i, --ignore-case 忽略大小写
  • -v, --invert-match 反转匹配结果,只显示不匹配的行
  • -n, --line-number 显示匹配行的行号
  • -r, --recursive 递归搜索子目录中的文件
  • -l, --files-with-matches 只显示包含匹配内容的文件名

使用示例:

  • 在单个文件中搜索模式:
grep "hello" file.txt          # 在文件 file.txt 中搜索匹配 "hello" 的行
grep -i "hello" file.txt        # 在文件 file.txt 中忽略大小写搜索匹配 "hello" 的行
grep -n "hello" file.txt        # 在文件 file.txt 中搜索匹配 "hello" 的行,并显示行号
  • 在多个文件中搜索模式:
grep "hello" file.txt file2.txt    # 在文件 file.txt 和 file2.txt 中搜索匹配 "hello" 的行
grep -r "hello" dir/           # 在指定目录下递归搜索匹配 "hello" 的文件内容
  • 显示匹配行的行数和文件名:
grep -c "hello" file.txt          # 统计文件 file.txt 中匹配 "hello" 的行数
grep -l "hello" file.txt file2.txt  # 显示包含匹配 "hello" 内容的文件名
  • 反转匹配结果,只显示不匹配的行:
grep -v "hello" file.txt         # 显示文件 file.txt 中不匹配 "hello" 的行

这些示例将帮助您更好地理解 grep 命令在 CentOS 7 系统中的使用。可以根据需要组合使用不同的选项来实现更复杂的搜索操作

wc

在 CentOS 7 系统中,wc 命令用于计算文件中的行数、字数和字符数。以下是 wc 命令的语法、可选参数和使用示例:

语法:

wc [OPTIONS] FILE

可选参数:

  • -c, --bytes 打印文件的字节数
  • -m, --chars 打印文件的字符数
  • -l, --lines 打印文件的行数
  • -w, --words 打印文件的词数

使用示例:

  • 统计文件的行数、字数和字符数:
wc file.txt # 统计文件 file.txt 的行数、字数和字符数
  • 只统计字节数、字符数或行数:
wc -c file.txt        # 统计文件 file.txt 的字节数
wc -m file.txt        # 统计文件 file.txt 的字符数
wc -l file.txt        # 统计文件 file.txt 的行数
  • 统计多个文件的总行数、字数和字符数:
wc file.txt file2.txt          # 统计文件 file.txt 和 file2.txt 的总行数、字数和字符数
  • 显示文件名以及统计结果:
wc -l file.txt file2.txt # 显示文件名以及各文件的行数统计结果
  • 结合管道操作:
ls | wc -l                      # 统计当前目录下文件的数量
ls | wc -w                      # 统计当前目录下文件名中单词的数量

vi/vim

打开文件:使用 vi 或 vim 命令加上文件名来打开一个文件。例如:

vi filename

进入插入模式:在命令模式下按下 i 可以进入插入模式。在插入模式下,光标会变成竖线形状,可以输入文本到文件中。

保存文件:在命令模式下按下 :w 可以保存文件。如果文件是新建的,需要在文件名后添加 ! 才能保存。

:w 
:w!

退出编辑器:在命令模式下按下 :q 可以退出编辑器。如果文件已被修改但未保存,则无法退出编辑器。如果强制退出编辑器,可以在 q 后添加 ! 。

:q
:q!

保存并退出编辑器:在命令模式下按下 :wq 可以保存并退出编辑器。如果文件是新建的,需要在文件名后添加 ! 才能保存。

:wq
:wq!

撤销上一步操作:在命令模式下按下 u 可以撤销上一步操作。

复制粘贴:在命令模式下移动光标到要复制的位置,按下 y 键复制,然后移动光标到要粘贴的位置,按下 p 键粘贴。如果需要复制多行,可以在命令模式下先按下 v 进入可视模式,然后移动光标选择要复制的行,再按下 y 复制。

写在最后

如果你觉得这篇关于使用文本操作命令在CentOS系统中高效处理文本文件的技术文章对你有所启发,那就请点个赞吧!你的支持是我不断前进和创作更好内容的动力。

同时,为了方便以后查阅和学习,别忘了点击收藏按钮,将这篇文章保存起来。这样你就可以随时回顾这些实用的文本操作命令,并在日常工作中应用它们。

感谢你抽出时间阅读这篇文章,并且希望这些技巧能够对你的工作和生活带来帮助。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

医院配电能效监管方案

摘要:本文以医院能源监管系统为研究对象,采用智能化技术组建数据库、构建智能化的能耗信息管理系统,实现对医院的能源利用状况进行实时、准确的动态监管。具体而言,该系统建设的主要功能是对医院的能源消耗进行采集、上报、汇总与分析,并生成动态的数据和报表曲线,以及利用分析…

访问学者J1签证的申请流程

访问学者J1签证是许多人前往美国进行学术研究和文化交流的重要途径之一。申请J1签证需要经过一系列步骤和程序,让知识人网小编带大家来了解一下申请流程吧。 首先,申请者需要确认自己符合J1签证的资格要求。这包括被美国的赞助机构或组织接受&#xff0c…

uniapp中uview组件库的Input 输入框 的使用方法

目录 #平台差异说明 #基本使用 #输入框的类型 #可清空字符 #下划线 #前后图标 #前后插槽 API #Props #Events #Methods #Slots 去除fixed、showWordLimit、showConfirmBar、disableDefaultPadding、autosize字段 此组件为一个输入框,默认没有边框和样式…

mysql查询表里的重复数据方法:

1 2 3 4 INSERT INTO hk_test(username, passwd) VALUES (qmf1, qmf1),(qmf2, qmf11) delete from hk_test where usernameqmf1 and passwdqmf1 MySQL里查询表里的重复数据记录: 先查看重复的原始数据: 场景一:列出username字段有重读的数…

jdk动态代理中invoke的return返回的值有什么用?

目录 首先在接口中定义一个行为再定义一个目标角色实现接口,实现行为去代理角色类中解决一下报错,但是什么都不要写 invoke的return返回的值是调用方法中返回的值 下面我们来实例看一下 首先在接口中定义一个行为 public String toMarry02();再定义一个…

金和OA C6 UploadFileEditorSave.aspx 文件上传漏洞复现

0x01 产品简介 金和OA协同办公管理系统软件(简称金和OA),本着简单、适用、高效的原则,贴合企事业单位的实际需求,实行通用化、标准化、智能化、人性化的产品设计,充分体现企事业单位规范管理、提高办公效率的核心思想,为用户提供一整套标准的办公自动化解决方案,以帮助…

关于执行 roslaunch xxxxx yyyy.launch 后,没能进入 RViz 就卡死的问题

Problem 话不多说,先看图。 终端也会提示有报错(可能是这种,但不确定): 这是发现问题所在之后,故意改错,然后尝试的。☝ Solution 总以为是显卡的问题,一直在研究怎么在 Ubuntu2…

适合前后端开发的可视化编辑器(拖拽控件)

分享一个面向研发人群使用的前后端分离的低代码软件——JNPF。 JNPF与市面上其他的低代码(轻流、宜搭、微搭、简道云、轻流、活字格等等),后者更倾向于非编程人员使用,让业务线人员自行构建应用程序。而 JNPF 这款低代码产品是面向…

AIGC带给开发者的冲击

未来会有两种开发者,一种是会使用AIGC工具的开发者另一种是不会使用AIGC的开发者,AIGC的出现提高了开发效率和代码质量,对开发者意味着需要不断学习和适应新的技术和工作范式,开发者可以把更多的精力放在高级抽象的定义以及更高维…

2024年阿里云优惠券领取及使用教程

阿里云作为国内领先的云计算服务提供商,一直致力于为客户提供优质、高效的服务。为了更好地回馈客户,阿里云经常会推出各种优惠活动,其中就包括阿里云优惠券。本文将详细介绍如何领取及使用阿里云优惠券。 一、阿里云优惠券介绍 阿里云优惠券…

【网络技术】【Kali Linux】Wireshark嗅探(四)域名系统(DNS)

一、实验目的 本次实验使用wireshark流量分析工具进行网络嗅探,旨在了解域名系统(DNS)的工作原理。 二、域名系统概述 简单来说,域名系统(Domain Name System, DNS)将域名(可以理解为“网址”…

2024年MySQL学习指南(一),探索MySQL数据库,掌握未来数据管理趋势

文章目录 前言1. 数据库的相关概念1.1 数据1.2 数据库1.3 数据库管理系统1.4 数据库系统1.5 SQL 2. MySQL数据库2.1 MySQL安装2.2 MySQL配置2.2.1 添加环境变量2.2.2 新建配置文件2.2.3 初始化MySQL2.2.4 注册MySQL服务2.2.5 启动MySQL服务 2.3 MySQL登录和退出2.4 MySQL卸载2.…

01-03

利用模板类完成顺序表

ExecutorCompletionService详解

本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 文章目录 摘要ExecutorCompletionService适用场景ExecutorCompletionService使用ExecutorCompletionService原理解析注意事项总结 摘要 ExecutorCompletionService 是Jav…

花为缘享奢体验中心,轻创业最佳选择

公开数据显示,中国市场上近10年奢侈品存量近4万亿,但二奢流转率仅为5%,相比于日本、美国接近30%的流转率,差距巨大。二奢行业下隐藏着一个万亿级市场,个人如何实现奢侈品创业,花为缘享奢体验中心为你服务。…

Python中的垃圾回收机制是什么

一、写在前面: 我们都知道Python一种面向对象的脚本语言,对象是Python中非常重要的一个概念。在Python中数字是对象,字符串是对象,任何事物都是对象,而它们的核心就是一个结构体--PyObject。 typedef struct_object{i…

瞬态抑制二极管(TVS)的注意事项与布局布线?|深圳比创达电子

一、瞬态抑制二极管(TVS)的注意事项 工作电压/反向截止电压(VRVRWM)此参数不需要降额,保证大于等于工作电路最大工作电压即可,越接近越好。该参数为TVS的固有参数。VBR是TVS固有参数,与外界冲击波形无关。 被保护器件…

分布式(8)

目录 36.什么是TCC? 37.分布式系统中常用的缓存方案有哪些? 38.分布式系统缓存的更新模式? 39.分布式缓存的淘汰策略? 40.Java中定时任务有哪些?如何演化的? 36.什么是TCC? TCC&#xff08…

低代码技术:颠覆数据孤岛的技术利器

在当今数据驱动的世界中,数据的价值无可忽视。然而,很多组织面临一个普遍的问题,即数据孤岛。数据孤岛指的是不同部门或系统之间无法有效共享和集成数据的情况。这限制了组织在数据驱动的决策和创新方面的能力。然而,低代码平台的…

雍禾植发成毛发行业标杆!雍禾医疗获“年度医疗大健康消费企业”

近期,以“新视野 新链接”为主题的2023 EDGE AWARDS全球创新评选榜单正式发布。该评选由钛媒体发起,聚焦大健康产业,由权威行业专家、王牌分析师、专业投资机构、用户代表共同评审,兼顾综合专业性、影响力、创新性三大维度评选而出…