首页 > 系统相关 >Linux 基础-文本处理命令

Linux 基础-文本处理命令

时间:2022-12-01 15:59:55浏览次数:47  
标签:文件 文本 grep 文本处理 命令 mode Linux txt find

概述

Linux 下使用 Shell 处理文本时最常用的工具有: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk

find 文件查找

man 文档给出的 find 命令的一般形式为:

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [expression]

这对于大部分人来说都太复杂了,[-H] [-L] [-P] [-D debugopts] [-Olevel] 这几个选项并不常用,find 命令的常用形式可以简化为:

$ find [PATH] [option] [action]

1,根据文件或者正则表达式进行匹配

$ find .  # 查找当前目录及子目录下所有文件及文件夹
$ find /data -name "*.txt"  # 在 /data 目录及子目录下查找以 .txt 结尾的文件名
$ find . \( -name "*.txt" -o -name "*.pdf" \)  # 当前目录及子目录下查找所有以 .txt 和 .pdf 结尾的文件
$ find . -maxdepth 1 -type d  # 查找当前目录下所有的子目录
$ find . -maxdepth 1 -regex ".*\.txt$"  # 基于正则表达式匹配当前目录下的所有以 .txt 结尾的文件
./multi_classifynet_infer_ret.txt
./cali_left_img.txt
... 省略

2,根据文件类型进行搜索

find . -type 类型参数,f 普通文件,l 符号连接,d 目录,c 字符设备,b 块设备,s 套接字,p Fifo
$ find . -maxdepth 1 -type d  # 查找当前目录下的所有子目录

3,基于目录深度搜索

$ find . maxdepth 3 -type f  # 目录向下最大深度限制 3

4,根据文件时间戳进行搜索
find . -type -f 时间戳参数。与时间有关的选项:共有 -atime, -ctime-mtime,以 -mtime 说明

  • -mtime n : n 为数字,意义为在 n 天之前的『一天之内』被更改过内容的文件;
  • -mtime +n :列出在 n 天之前(不含 n 天本身)被更改过内容的文件名;
  • -mtime -n :列出在 n 天之内(含 n 天本身)被更改过内容的文件名。
  • -newer file : file 为一个存在的文件,列出比 file 还要新的文件名
$ find /etc -newer /etc/passwd  # 寻找 /etc 底下的文件,如果文件日期比 /etc/passwd 新就列出

5,与文件权限及名称有关的参数

  • -name filename:搜寻文件名为 filename 的文件。
  • -size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的文件。 这个 SIZE 的规格有:c: 代表 byte, k: 代表 1024 bytes。所以,要找比 50KB还要大的文件,就是 -size +50k
  • -type TYPE:搜寻文件的类型为 TYPE 的, 类型主要有:一般正规文件 (f), 装置文件 (b, c), 目录 (d), 连结档 (l), socket (s), 及 FIFO (p) 等属性。
  • -perm mode:搜寻文件权限『刚好等于』 mode 的文件, 这个 mode 为类似 chmod 的属性值, 举例来说, -rwxr-xr-x 的属性为 755
  • -perm -mode:搜寻文件权限『必须要全部囊括 mode 的权限』的文件, 举例来说,我们要搜寻 -rwxr--r--,亦即 744 的文件,使用 -perm -744,但是当一个文件的权限为 -rwxr-xr-x ,亦即 755 时,也会被列出来,因为 -rwxr-xr-x 的属性已经包括了 -rwxr--r-- 的属性了。
  • -perm /mode:搜寻文件权限『包含任一 mode 的权限』的文件, 举例来说,我们搜寻 -rwxr-xr-x ,亦即 -perm /755 时,但一个文件属性为 -rw-------也会被列出来,因为他有 -rw.... 的属性存在。
范例:
```shell
root@17c30d837aba:/data# find . -maxdepth 1 -perm 777  # 查找当前目录下文件权限刚好等于777 的文件
.
./honggaozhang
./demo.sh

grep 文本搜索

grep 支持使用正则表达式搜索文本,并把匹配的行打印出来。grep 命令常见用法,在文件中搜索一个单词,命令会返回一个包含 “match_pattern” 的文本行:

grep match_pattern file_name
grep "match_pattern" file_name

常用参数

  • -o:只输出匹配的文本行,-v 只输出没有匹配的文本行
  • -c:统计文件中包含文本的次数: `grep -c “text” filename
  • -n:打印匹配的行号
  • -i:搜索时忽略大小写
  • -l:只打印文件名
$ grep "class" . -R -n  # 在多级目录中对文本递归搜索(程序员搜代码的最爱)
$ grep -e "class" -e "vitural" file  #  匹配多个模式

参考资料

标签:文件,文本,grep,文本处理,命令,mode,Linux,txt,find
From: https://www.cnblogs.com/armcvai/p/16941559.html

相关文章

  • Linux-操作命令
    1、关机命令命令说明sync将数据由内存同步到硬盘中shutdown关机shutdown-h1010分钟后关机shutdown-hnow立马关机shutdown-h20:25指定时间......
  • Linux /dev/mapper/ubuntu--vg-ubuntu--lv磁盘空间不足 报错信息:“No space left on
    通过指令:df-h查看磁盘情况所以现在需要扩容,用指令显示存在的卷组:vgdisplay如果显示权限不足,会出现以下报错:点击查看代码WARNING:Runningasanon-root......
  • linux用户和用户组管理
    linux用户和用户组管理Linux用户和用户组linux是多用户多任务操作系统,linux支持多个用户在同一时间内登录,不同用户可以执行不同的任务,并且互不影响。......
  • 交换机arp转ip-mac绑定命令工具-免费版
    一、简介为了防止ARP破坏,我们经常需要在三层交换机上做IP地址与MAC地址的绑定操作。先要进入System-View系统视图模式,输入"sys"即可。system-view:[huawei]arpstatic192.1......
  • Linux 系统权限介绍与使用
    Linux系统权限介绍与使用介绍linux中除了常见的读(r)、写(w)、执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用,可以大大提高我们运维工作的效率。......
  • awk和sed命令使用
    awkhttps://cloud.tencent.com/developer/article/2098942sedhttps://www.cnblogs.com/xiaoyongzhuo/p/7452118.html......
  • AWC中显示 在SE Solid edge中打开命令
    AWC_SEEC_OpenSupportedTypes描述支持指定对象类型在SolidEdge中打开(在ActiveWorkspace中选定后)。只有零组件、零组件版本、零组件和零组件版本的子类型和Solid......
  • Linux常用命令
    1命令分类用于实现某一类功能的指令或程序命令的执行依赖于解释器程序(例如:/bin/bash)内部命令:属于Shell解释器的一部分外部命令:独立于Shell解释器之外的程序文件2命令......
  • Linux一切皆文件指什么?Linux文件类型有哪些?
    在Linux中一切皆文件,普通文件是文件,目录是文件,硬件设备也是文件,套接字、网络通信等资源也都是文件。那么Linux中一切皆文件是什么意思?本文为大家详细介绍一下。Lin......
  • linux驱动移植-Nand Flash ONFI标准和MTD子系统【转】
    转自:https://www.cnblogs.com/zyly/p/16756273.html#_label0目录一、ONFI标准1.1ONFI标准1.2RawNand分类1.2.1单元层数1.2.2数据线宽度1.2.3数据采集模式......