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

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

时间:2023-11-09 10:13:29浏览次数:38  
标签:文件 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/linuxprobe19/p/17818127.html

相关文章

  • Java获取Windows或Linux下的IP地址
    Java获取Linux或Windows下的IP地址,详情如下importlombok.extern.slf4j.Slf4j;importjava.net.InetAddress;importjava.net.NetworkInterface;importjava.net.SocketException;importjava.net.UnknownHostException;importjava.util.Enumeration;@Slf4jpubli......
  • linux 查看端口占用
    第一步:查询端口占用情况,命令如下;netstat-ntlp|grep80 第二步:杀死该端口进程 (如果是nginx服务自身占用端口,先停止在重启)杀死端口命令:kill-9进程号 ......
  • linux 使用crontab 创建定时任务
    转载请注明出处:在服务器中需要创建一个定时任务,每天执行去清理很早之前备份的文件,所以想到在linux上创建一个shell脚本,通过linux的crontab命令定时去执行该shell脚本,从而实现定时清理服务器文件。crontab是Linux系统中用于调度任务的命令,它允许用户在固定的间隔时间执......
  • Linux 下最主流的文件系统格式——ext
    硬盘分成相同大小的单元,我们称为块(Block)。一块的大小是扇区大小的整数倍,默认是4K。在格式化的时候,这个值是可以设定的。一大块硬盘被分成了一个个小的块,用来存放文件的数据部分。这样一来,如果我们像存放一个文件,就不用给他分配一块连续的空间了。我们可以分散成一个个小块进行存放......
  • 防火墙的限制规则1(Linux)
    一:概述系统中的防火墙可以限制从外部到内部访问,让用户只能访问特定的服务,这样可以防止他人非法入侵系统的内部。Linux系统提供了由IP分组的过滤和地址转换(NAT)的ip_tables、iptable_filter等多个Linux内核模块组成的Netfilter。防火墙可以在内外网上建立起一道屏障。二:设置防火墙......
  • 【Flask框架】全知识点笔记4章60页MD文档,今日篇:flask视图和路由进阶
    本文的主要内容:flask视图&路由、虚拟环境安装、路由各种定义、状态保持、cookie、session、模板基本使用、过滤器&自定义过滤器、模板代码复用:宏、继承/包含、模板中特有变量和函数、Flask-WTF表单、CSRF、数据库操作、ORM、Flask-SQLAlchemy、增删改查操作、案例、蓝图、单元测......
  • linux 库依赖,开发和生产环境,部署问题
    在生产环境中测试发现程序无法运行,所以要分析一下./mentester:/lib/libtinfo.so6:nouersioninformationavailable(requiredby,/mentester)./mentester'/lib/libncursesso.b:nouersioninformationauailable(requiredby./mentester)memtesteruersion1.2.01......
  • Linux tail命令:显示文件结尾的内容
    tail命令和head命令正好相反,它用来查看文件末尾的数据,其基本格式如下:[root@localhost~]#tail[选项]文件名此命令常用的选项及含义【例1】查看/etc/passwd文件最后3行的数据内容。[root@localhost~]#tail-n3/etc/passwdsshd:x:74:74:Privilege-separatedSSH:/var......
  • linux的netstat命令简介
    环境centos7.9介绍netstat是一个网络工具,用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,以及系统上当前的网络连接状态。它可以帮助用户了解网络连接的详细信息,从而更好地诊断和解决网络问题。语法netstat[选项]常用选项-a:显示所有连接和监听端口。-n:以数字形式显示地......
  • 【Java基础】Java容器相关知识小结
    目录0.前言1.Collection接口1.1.List接口1.1.1.ArrayList1.1.2.LinkedList1.1.3.Vector1.1.4.Stack1.2.Set接口1.2.1.HashSet1.2.2.LinkedHashSet1.2.3.TreeSet1.3.Queue接口1.3.1.PriorityQueue1.3.2.LinkedList2.Map接口2.1.HashMap2.2.TreeMap2.3.LinkedHash......