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系统中高效处理文本文件的技术文章对你有所启发,那就请点个赞吧!你的支持是我不断前进和创作更好内容的动力。

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么要用扫码出入库?

一、什么是扫码出入库管理系统 传统的仓库管理模式存在很多问题,如:货物积压、过期、丢失等。这些问题不仅影响了企业的正常运营,还给企业带来了经济损失。为了解决这些问题,扫码出入库管理系统应运而生。该系统采用先进的二维码…

利用蚁剑钓鱼上线CS

前言 ​ 中国蚁剑使用Electron构建客户端软件,Electron实现上用的是Node.js,并且Node.js能执行系统命令,故可以利用蚁剑的webshell页面嵌入js来直接执行命令,进而钓鱼来上线CS。(类似Goby,Goby也是使用Ele…

MCMC:Metropolis-Hastings抽样

马尔可夫链有两个要素: 一步转移概率矩阵:初始分布: 如果这两个要素都确定了,这个链的转移行为就被完全确定下来了。我们就可以求得极限分布 ,只需解下面这个方程即可。 但是MCMC试图解决的问题刚好是反过来。即已知…

JOSEF约瑟 断电延时继电器 SRTD-220VDC-2H2D 导轨安装

系列型号: SRTD-24VDC-1H1D断电延时继电器;SRTD-110VDC-1H1D断电延时继电器; SRTD-220VDC-1H1D断电延时继电器;SRTD-110VAC-1H1D断电延时继电器; SRTD-220VAC-1H1D断电延时继电器;SRTD-24VDC-2H断电延时继电…

rime中州韵小狼毫 中英互绎 滤镜

英文在日常生活中已经随处可见,我们一般中英互译需要使用专业的翻译软件来实现。但如果我们在输入法中,在输入中文的时候,可以顺便瞟一眼对应的英文词汇,或者在输入英文的时候可以顺便了解对应的中文词汇,那将为我们的…

Python+Selenium实现网站滑块拖动操作

实现效果 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 import time from selenium impo…

c++基础(对c的扩展)

文章目录 命令空间引用基本本质引用作为参数引用的使用场景 内联函数引出基本概念 函数补充默认参数函数重载c中函数重载定义条件函数重载的原理 命令空间 定义 namespace是单独的作用域 两者不会相互干涉 namespace 名字 { //变量 函数 等等 }eg namespace nameA {int num;v…

小狗伪原创轻松实现文案二次原创

摘要:在学术和商业领域,文案的原创性和独特性至关重要。然而,很多时候我们需要对已有的文案进行修改或重写。这时,小发猫、小狗伪原创等论文降重工具就派上了用场。这些工具能帮助我们快速、高效地完成文案的二次原创,…

vue3 接入 Element Plus

vue3 接入 Element Plus vue3 发布已经很久了,官方也已经发布公告,自2023年12月31日起停止对 vue2 版本的维护更新,因此,vue3 正式登上了历史的舞台。组件库一直是前端开发的利器,减少了开发者开发复杂度,提…

【UE5.1】给森林添加天气效果

在上一篇博客(【UE5.1】程序化生成Nanite植被)基础上给森林添加天气交互效果,角色和雪地、水坑的交互效果。 目录 效果 步骤 一、准备工作 二、添加超动态天空 2.1 修改时间 2.2 昼夜交替 三、添加超动态天气 3.1 改变天气 3.2 …

JRT打印元素绘制协议之-A4Double

以前打印相信很多人因为A4打印两个报告头大过,M要把一堆报告既有A4的也有A5的还有微生物的,可能输出Page还不那么严谨。要么换页不对叠加了、要么多空白页、中间夹杂A4报告就更加头大。也有的人为了打印页码的共几页而头大。 借助新设计的优势&#xff…

JAVA电商平台 免 费 搭 建 B2B2C商城系统 多用户商城系统 直播带货 新零售商城 o2o商城 电子商务 拼团商城 分销商城

在数字化时代,电商行业正经历着前所未有的变革。鸿鹄云商的saas云平台以其独特的架构和先进的理念,为电商行业带来了全新的商业模式和营销策略。该平台涉及多个平台端,包括平台管理、商家端、买家平台、微服务平台等,涵盖了pc端、…