首页 > 系统相关 >Linux文件管理知识:文本处理

Linux文件管理知识:文本处理

时间:2023-11-09 23:33:38浏览次数:63  
标签:文件 linuxprobe 文本 知识 cat 文本处理 Linux txt

上篇文章详细介绍了Linux系统中查找文件的工具或者命令程序的相关操作内容介绍。那么,今天呢,这篇文章围绕Linux系统中文本处理来阐述。

 

众所周知,所有Linux操作系统都离不开一个核心原则,那就是它是由很多种文件组成的,那么,Linux系统的任何操作就离不开文本文件的处理。所以,它有很多命令工具用来处理文本的。在这篇文章中我们主要介绍下用于文本格式化输出及其它常用的命令工具。

常见的命令工具如下:

命令(工具)名称 描述

cat 用于连接文件并且打印到标准输出

sort 用于给文本行排序

uniq 用于报告或者省略重复行

cut 用于从每行中删除文本区域

paste 用于合并文件文本行

join 用于基于某个共享字段来联合两个文件的文本行

comm 用于逐行比较两个有序的文件

diff 用于逐行比较文件

patch 用于给原始文件打补丁

tr 用于翻译或删除字符

sed 用于筛选和转换文本的流编辑器

aspell 用于交互式拼写检查器

接下来,我们先回顾下Linux系统文本处理工具。

Linux文本处理工具

说到Linux文本处理工具或者程序,我相信大家首先提到就是vim了。是的,没错!但是文本还可以用来做什么呢?这个值得大家思考!

在这里列举一些用途:

² 通过纯文本格式形式编写文档;

² 另一种文本文档格式就是网页,目前最常见的就是通过超文本标记语言HTML或可扩展的标记语言XML作为标记语言来实现的;

² 基于文本的电子邮件email;

² 纯文本格式格式化输出;

² 软件开发里的程序源码;.

cat-A命令程序

cat-A命令程序,可将文本非打印字符(比如说控制字符tab、空格、回车字符等)显示出来。

实例1:

第一步:创建测试文件或者实例

[root@linuxprobe ~]$ cat > test1.txt

The food is delicious.

[root@linuxprobe ~]$

备注:

创建测试文件test1.txt,输入cat命令指定了用于重定向输出的文件test1.txt,随后输入文本内容“ The food is delicious. ”,最后回车Enter 键;使用Ctrl+D组合键指示cat命令。

需要注意的是测试文件test1.txt文本内容的开头和末尾分别使用了一个tab 字符以及一些空格。

第二步:刚刚创建的测试文件test1.txt文本内容通过cat-A命令显示出来:

[root@linuxprobe ~]$ cat -A test1.txt

^IThe food is delicious.. $

[root@linuxprobe ~]$

结论:

在输出的显示结果中我们可以分析:

文本中的tab 字符由ˆI 字符来显示出来。

文本末尾的空格由$ 字符来显示出来。

实例2:

第一步:创建测试文件或者实例

[root@linuxprobe ~]$ cat > test2.txt

It tastes delicious,

 

 

and makes one run at the mouth.

[root@linuxprobe ~]$

[root@linuxprobe ~]$ cat -ns test2.txt //-n:给文本行添加行号

-s:禁止输出多个空白行

1 It tastes delicious,

2

3 and makes one run at the mouth.

[root@linuxprobe ~]$

备注:

重新创建了一个新的测试文件test2.txt,其文本内容为It tastes delicious,

and makes one run at the mouth.并由两个空白行区分开。经过cat -ns命令程序执行处理(给文本行添加行号,并将禁止输出多个空白行输出)输出显示出来。

sort命令程序

sort 命令程序针对指定的文本内容或命令行中指定的一个或多个内容进行排序,并将排序结果标准输出显示出来。

sort 程序来处理标准输入实例:

[root@linuxprobe ~]$ sort test3.txt

2

3

1

[root@linuxprobe ~]$ ccat test3.txt

将test1.txt test2.txt test3.txt三个文本文件合并为一个有序的文件sorted _test_list.txt。

Sort命令程序的常见选项参数如下表:

选项 长选项 描述

-b --ignore-leading-blanks 默认情况下,对整行进行排序,从每行的第一个字符开始。这个选项导致sort 程序忽略每行开头的空格,从第一个非空白字符开始排序。

-f --ignore-case 让排序不区分大小写。

-n --numeric-sort 基于字符串的数值来排序。使用此选项允许根据数字值执行排序,而不是字母值。

-r --reverse 按相反顺序排序。结果按照降序排列,而不是升序。

-k --key=field1[,field2] 对从field1 到field2 之间的字符排序,而不是整个文本行。看下面的讨论。

-m --merge 把每个参数看作是一个预先排好序的文件。把多个文件合并成一个排好序的文件,而没有执行额外的排序。

-o --output=file 把排好序的输出结果发送到文件,而不是标准输出。

-t --field-separator=char 定义域分隔字符。默认情况下,域由空格或制表符分隔。

 

这篇文章主要介绍了cat及sort命令程序,它们是如何被用来执行文本处理操作的。 Linux系统知识博大精深,所以我在此强烈建议大家可以参考下《linux就该这么学》这本书,对于linux系统文本处理层面的介绍很详细!那么关于Linux系统中文本处理命令的操作及运用介绍先告一段落了,后期文章会一一补发

标签:文件,linuxprobe,文本,知识,cat,文本处理,Linux,txt
From: https://www.cnblogs.com/cainiaoyige1/p/17823142.html

相关文章

  • Linux 命令:PS(进程状态)
    1.写在前面本文主要介绍:Linux下常用命令PS——进程状态;公众号:滑翔的纸飞机2.PS —介绍(进程状态)ps命令:显示Linux系统中运行进程有关的信息。root@dev:~#psPIDTTYTIMECMD256216pts/200:00:00bash256232pts/200:00:00psPID:唯......
  • linux 安装mysql
    linux安装mysql数据库的教程1.安装数据库1)yum-yinstallmysql-server(简单)yum命令自动从网上寻找mysql服务资源,下载至本地并完成安装2)也可以自己在网上下载mysql服务,通过xftp传输至Linux系统,自己安装(一般安装在usr或opt目录下)2.启动数据库安装完毕,执行命令servicemys......
  • linux驱动模型--Apple的学习笔记
    一,前言既然是复习设备驱动,第一步当然是做一个最简单的基于设备树的驱动applechar,然后insmod和rmmod使用下,接着要回忆下driver和device是怎么match的,且把相关结构体复习下。看了下结构体发现有点忘记了,另外match的函数也忘记了。有些东西不需要死记硬背,通过代码分析的方法论找到它即......
  • process-exporter 监控linux机器进程使用情况
    process-exporter监控linux机器进程使用情况背景前期一直想进行关于IP地址的来源和目的地的监控但是耗费了很多精力都没有搞定.感觉应该去偷师一下安全监控软件的使用方式.今天晚上再github上面漫无目的的进行exporter的查找依旧一无所获,但是找到了process-expor......
  • Linux awk命令
    除了使用sed命令,Linux系统中还有一个功能更加强大的文本数据处理工具,就是awk。曾有人推测awk命令的名字来源于awkward这个单词。其实不然,此命令的设计者有3位,他们的姓分别是Aho、Weingberger和Kernighan,awk就取自这3为大师姓的首字母。和sed命令类似,awk命令也是......
  • Linux 网络设置
    网络设置ifconfig查看网络接口信息centos6:eth0centos:ens33格式ifconfig+网卡名up启动网卡ifconfig+网卡名down关闭网卡ifconfig+网卡名IP地址/子网掩码临时设置IP地址ifconfig+网卡名:0IP地址/子网掩码设置虚拟网卡(临时测试使用,不是永久)  #将ens36dow......
  • 【python进阶】14大模块200页知识体系md笔记,第5篇:python下的linux命令使用
    本文从14大模块展示了python高级用的应用。分别有Linux命令,多任务编程、网络编程、Http协议和静态Web编程、html+css、JavaScript、jQuery、MySql数据库的各种用法、python的闭包和装饰器、mini-web框架、正则表达式等相关文章的详细讲述。全套Python笔记直接地址:请移步这里共......
  • Linux 查看数据库和表
    连接数据库mysql-hlocalhost-u用戶名-p密碼使用数据库usedesk_show;显示数据表showtables;显示表结构describedesk6_0;mysql其他命令:显示数据库showdatabases;创建数据库createdatabasename;选择数据库usedatabasename;执行命令source/root/20151010.sq......
  • linux ImageMagick convert 报错 convert-im6.q16***
    在linux批量处理图片时候报一下错误,导致图片无法按要求转化,运行的命令如下:convert**.jpg-resize512x512new.jpg报错:convert-im6.q16:cacheresourcesexhausted`*.jpg'@error/cache.c/OpenPixelCache/4083.convert-im6.q16:noimagesdefined`./zoom/113.jpg'@erro......
  • Linux第六次周总结
    第五章 进程管理5.1初识进程进程是已启动的可执行程序的运行实例。进程有以下组成部分。1.已分配内存的地址空间。2.安全属性,包括所有权凭据和特权。3.程序代码的一个或多个执行线程。4.进程状态每个进程都有唯一的进程标识PID,一个PID只能标识一个进程,PPID为父进程ID,需......