首页 > 系统相关 > 管理文件和目录7(Ubuntu)

管理文件和目录7(Ubuntu)

时间:2023-08-20 14:32:47浏览次数:50  
标签:选项 文件 grep 正则表达式 管理文件 指定 搜索 Ubuntu 目录

一:处理两个文件中的数据

  这个命令就是join命令时会读取指定的两个文件,并将具有公共字段的行连接起来。

 注意:在进行这一步前文件要经过排序。

  格式: join [选项] 文件名1 文件名2

  join命令在处理两个相关数据的文件时常有用,选项看不懂的搭配操作实践实践就知道了。

  常用的选项如下表所示:

选项

说明

-a

除了正常的显示内容外,还会显示文件中没有相同的数据的行。有两个文件编号1和2(数字1表示连接文件1中的内容,数字2表示连接文件2中的内容)

-i

忽略大小写

-j

指定要串联的字段

-o

按照指定的格式显示结果

文件fiel1和fiel2中有相同的数据是每行前面的行号,现在把具有相同的行号的行连接起来,如果需要指定连接的是第2列文字。join -j 2 fiel3 fiel4表示指定第2列为连接字段,如下图所示:

  

                                                          管理文件和目录7(Ubuntu)_字符串

上面这种连接不会把文件fiel3中的第4行一起串联起类,加上-a选项之后就可以了。join -j 2 -a 2 fiel3 fiel4会显示文件fiel3中无法连接的字段。

二:文本处理工具

  这个命令就是grep命令,这个命令是一个非常强大的文本处理工具,grep命令也具有搜索功能,可以在文件中或标准输出上搜索指定的字符串。

 格式:grep [选项] 字符串 文件名 

 字符串指的是需要查找的字符串,grep命令可以根据指定的选项过滤不同的文件内容,常用选项如下表所示:

选项

说明

-n

在搜索结果中显示行号

-l

列出带有匹配行的文件名

-v

列出没有匹配内容的行

-i

执行不区分大小的的搜索

如果我要搜索文件fiel1中的带有study的行,可以指定-n这个选项,这样搜索的结果就包括行号和带有study的行。这样搜索是区分大小写的如果不区分大小写,可以再指定-i选项,如下图所示:

                                                          管理文件和目录7(Ubuntu)_字符串_02

                                                          管理文件和目录7(Ubuntu)_正则表达式_03

  grep除了指定选项,还可以通过正则表达式搜索指定的字符串。简单来说这个正则表达式就是处理字符串的方法,只不过它有自己独特的检索方式。一个正则表达式既可以是一些纯文本的文字,也可以是用来产生模式的特殊字符,正则表达式里常用的字符如下表所示;

字符

说明

\

忽略正则表达式里的特殊字符的原本含义

.

匹配任何字符

*

匹配前一个字符0此或者更多次

^

匹配正则表达式的开始行

$

匹配正则表达式的末尾行

?

指定前一个字符出现0次或多次

+

指定前一个字符·重复1次或者多次

[]

匹配[]中的字符

 上面可以看出+、等符号已经不是它们原本的含义了,如果想要恢复他们原本的含义就要在它们之前添加反斜杠\,比如\、\+。 

  下面使用·正则表达式和grep命令搭配在一起实现搜索功能的用法。grep ‘^s.*n $ fiel1 表示搜索文件fiel1中中以s开头以y结尾的字符串,这种方式搜所的结果会很准确。相反grep '^s.\+$ fiel1 表示搜索文件中以c开头以#结尾的字符串,如下图所示:

                                                          管理文件和目录7(Ubuntu)_字符串_04

                                                          管理文件和目录7(Ubuntu)_搜索_05

如果单独使用.的功能,它会显示除空行外的所有行,演示如下图所示:

                                                          管理文件和目录7(Ubuntu)_字符串_06

                                                          管理文件和目录7(Ubuntu)_正则表达式_07

如果想搜索带有.的行,可以在上面的基础上加\。

正则表达式通过不同的字符之间的排列组合可以实现搜索、替换、删除等不同的功能。

标签:选项,文件,grep,正则表达式,管理文件,指定,搜索,Ubuntu,目录
From: https://blog.51cto.com/u_15912723/7161589

相关文章

  • 博客园css与目录导航
    默认配置:皮肤:BlueSky页面定制css代码:root{--accent-color:#696969;/*nice*/--primary-colour:#306797;/*<>*/--background-color:white;--background-gray:#f5f5f5;--border-color:#dbdbdb;--code-bg-color:#f8f8f8;--font-color:#1f......
  • 如何使用U盘安装Ubuntu 14.04
    对于做运维的同学来说U盘装个系统不就是分分钟的事吗,这有什么好说的?可偏偏通过U盘安装Ubuntu却是问题重重,下面我们就来说说几个U盘安装UbuntuServer时遇到的问题。对于做运维的同学来说U盘装个系统不就是分分钟的事吗,这有什么好说的?U盘安装系统一般就是如下几步:下载系统......
  • windows系统下从硬盘安装linux-ubuntu
    #windows系统下从硬盘安装linux-ubuntu-1.使用系统自带的分区工具,划10G左右的空间当作安装盘。分区格式为FAT32,取个名字叫A。-2.把下载好的ubuntu镜像打开,复制内容到安装盘A。-3.重启电脑,按F12选择硬盘启动项。这里选ubuntu。 ......
  • Linux专栏(二):创建虚拟机与Ubuntu安装
    本文将介绍在VMware中如何创建虚拟机并安装Ubuntu20.04系统1下载Ubuntu20.04镜像下载地址:Ubuntu官网镜像下载2创建虚拟机Step1:打开上文Linux专栏(一)——VMware的下载与安装下载的VMware,点击创建虚拟机,后在弹窗中默认设置点击下一步;Step2:按照如图下选择点击下一步;Step3:......
  • 在 win10 2021 LTSC 上安装配置 wsl2 和 ubuntu
    在win102021LTSC上安装配置wsl2和ubuntu的过程:win10系统启用wsl2:wsl--install----no-distribution(安装wsl2,会自动打开系统feature:wsl子系统,虚拟机平台.不再需要去控制面板--启用windows特性)设置wsl默认版本为wsl2:wsl--set-defa......
  • 目录
    散乱傻子专用概率期望狗都不做概率期望狗都不做之学长的馈赠系列蓦然回首,灯火绚烂......
  • 管理文件和目录6(Ubuntu)
    一:对文件内容进行排序 sort这个命令可以对正文内容进行排序,还会将结果输出到标准输出中,而且原始文件中的内容不会发生任何改变。默认情况下,这个命令可以让内容按升序进行排序。如果有多个输入文件,那么每个文件中的内容都将重新排列并连续输出。 格式: sort[选项]文件名下面......
  • Ubuntu更改时区
     查看当前分区timedatectl修改时区,输入如一命令sudotimedatectlset-timezoneYOUR_TIMEZONE例如,如果您要将时区设置为"Asia/Shanghai",则命令将如下所示:sudotimedatectlset-timezoneAsia/Shanghai   参考:https://blog.csdn.net/kaka_buka/article/d......
  • 在 Ubuntu 22.04 系统上为 SSH 开启基于时间的 TOTP 认证
    前言一次性密码(英语:one-timepassword,简称OTP),又称动态密码或单次有效密码,是指电脑系统或其他数字设备上只能使用一次的密码,有效期为只有一次登录会话或一段短时间内。基于时间的一次性密码算法(英语:Time-basedOne-TimePassword,简称:TOTP)是一种根据预共享的密钥与当前时间计算一次......
  • 记一次Ubuntu修改密码的乌龙事件
    虚拟机装的Ubuntu系统忘记密码,按网上的教程修改之后,用ssh远程连接总是连不进去,尝试了各种办法都无效果。后来发现,在虚拟机的登录有时候也不行。忽然想起设置密码的时候用的是小键盘,会不会因为当时数字键没按下,输入的是乱码而不是数字。于是用键盘第二排的数字键重设了密码,故障解......