专栏首页LanceToBigDatalinux(六)之文本操作

linux(六)之文本操作

接下来我们一起来看一下再linux中怎么去对文本进行操作的

一、文本文件

既然要操作文本,所以我们要对文本有一个了解,那什么是文本文件呢。

文本文件是一种由若干行字符构成的计算机文件。文本文件存在于计算机文件系统中。通常,通过在文本文件最后一行后放置文件结束标志来。

文本文件通常有系统配置文件,网页,程序源代码等等。

二、文本文件的浏览

2.1、cat

  2.2.1、cat的基本介绍

  1)命令格式:cat filename(s)

  2)命令说明:将文件的内容显示到屏幕上

  3)将文件内容进行重定向到其他文件或者设备中。例如:cat /etc/passwd > a.txt

  4)拓展

命令格式:cat /etc/passwd | awk -F: '{print $1 "\t" $6}' | sort > ~/userinfo

  命令说明:
  awk:处理文字程序,以行为单位来处理文字
       -F指定分隔符
          注意:-F和分隔符之间没有空格
           '{print }':打印语句的固定格式
             $1 "\t" $6
              $1:分割后的第1个部分
              $6:分割后的第6个部分
              \t:制表符
                \n:换行符
             \:续行符
             sort:排序 ASCII码进行排序
                  a:97
                  A:65

  2.2.2、举例

  cat可以同时显示多个文件到屏幕中

 cat /etc/passwd     /etc/group

  将多个文件拼接成一个大的文件

cat /etc/passwd /etc/group > cat.txt

  2.2.3、清空文件的方法 

1)cat   /dev/null > cat.txt

    /dev/null :unix中的黑洞文件。放不进去东西,拿不出来东西。

    作用:用来清空文件 

 2)> cat.txt

     :  代表空操作

2.2、more

命令格式:more filename(s)

命令说明:显示文件内容到屏幕上,但是一屏内容满了之后会暂停下来。此时可以通过其他功能键进行查看。

2.3、head

命令格式:head [-n] filename(s)

命令说明:显示某个文件的前n行,如果没有选项-n(n是一个具体的数值),则默认显示前10行。

2.4、tail命令

具有和head命令相类似的功能,不同的是从显示某个文件尾部的行。

举例:

显示/etc/passwd文件的倒数第五行到倒数第十行的内容

tail -10 /etc/passwd | head -5

2.5、sort

读取文件中的内容,按行排序。

读取管道中的内容,按行排序。

可以加选项“-u”,表示重复行(相同并且相邻则视为重复行)只显示一次。

举例:

提取系统中所有的用户名,按用户名(行)排序。

cat /etc/passwd | awk -F: '{print $1}' | sort -u

2.6、uniq

清除文件或者管道中的重复行

注意:这里是指把文件中的重复行删除,只是我们查看的时候,把重复行给去掉了。

2.7、diff

比较并显示两个文件的不同之处

命令格式:diff [-u] filename1 filename2

//file1.txt
I need to buy apples.
I need to run the laundry.
I need to wash the dog.
I need to get the car detailed.

//file2.txt
I need to buy apples.
I need to do the laundry.
I need to wash the car.
I need to get the dog detailed.

我们使用diff比较他们的不同:
diff file1.txt file2.txt

输出如下结果:
2,4c2,4
< I need to run the laundry.
< I need to wash the dog.
< I need to get the car detailed.
---
> I need to do the laundry.
> I need to wash the car.
> I need to get the dog detailed.

分析:

我们来说明一下该输出结果的含义,要明白diff比较结果的含义,我们必须牢记一点,diff描述两个文件不同的方式是告诉我们怎么样改变第一个文件之后与第二个文件匹配。我们看看上面的比较结果中的第一行 2,4c2,4 前面的数字2,4表示第一个文件中的行,中间有一个字母c表示需要在第一个文件上做的操作(a=add,c=change,d=delete),后面的数字2,4表示第二个文件中的行。

2,4c2,4 的含义是:第一个文件中的第[2,4]行(注意这是一个闭合区间,包括第2行和第4行)需要做出修改才能与第二个文件中的[2,4]行相匹配。 接下来的内容则告诉我们需要修改的地方,前面带 < 的部分表示左边文件的第[2,4]行的内容,而带> 的部分表示右边文件的第[2,4]行的内容,中间的 --- 则是两个文件内容的分隔符号。

2.8、echo

显示命令后面的内容到屏幕上

2.9、script

录屏命令,该命令会执行之后会将控制台上所有从该命令之后的输入和输入全部显示到指定的文件中。

可以加选项“-a”,表示追加到文件中。

录屏结束之后使用“exit”命令或者ctrl+d退出录屏。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • KVM+Qemu+Libvirt实战

    上一篇的文章是为了给这一篇文件提供理论的基础,在这篇文章中我将带大家一起来实现在linux中虚拟出ubuntu的server版来 我们需要用KVM+Qemu+L...

    用户1195962
  • Java常用类(五)之集合工具类Collections

    前言    Java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类提供了大量方法对集合进行排序、查询和修改等操作,   ...

    用户1195962
  • IntelliJ IDEA使用(一)基本设置与类、方法模板设置

    其实之前一直开发都是在使用的是Eclipse,但是最近在做Maven项目的时候要用IntelliJ IDEA,据说这个idea功能非常的强大,最近在使用的时候发...

    用户1195962
  • textgenrnn 文本生成实战

    文本生成是一件很神奇的自然语言处理任务,深度学习给文本生成带来的全新的技术途径,如这篇文章The Unreasonable Effectiveness of R...

    sparkexpert
  • 面试官怎么看你的Github profile

    Udacity的Machine Learning纳米学位课程中,关于Github的笔记。 听课范围: Github Profile Git 和 Github...

    杨熹
  • 如何查找UI5框架的BSP应用名称

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang
  • Canonical推出了基于Android的可扩展云平台(Internet)

    Canonical是从云的移动和桌面应用程序的企业部署可扩展的基于Android的操作系统。

    用户8054058
  • 研发:How To Install Python 3 on CentOS 7

    Python is a versatile programming language that can be used for many different p...

    heidsoft
  • Flutter Notification使用说明

    在Flutter进行界面开发时,我们经常会遇到数据传递的问题。由于Flutter采用节点树的方式组织页面,以致于一个普通页面的节点层级会很深。当我们需要在子节点...

    Oceanlong
  • 如何在流感期间继续赢得业务

    今天,变化比稳定更普遍。除所有不确定因素外,销售专业人员在重建管道时面临着越来越高的需求。但是很明显,仍有生意要做。

    用户8078865

扫码关注云+社区

领取腾讯云代金券