百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Linux 文件查找与编辑命令集合

bigegpt 2025-03-04 10:54 8 浏览


一、find 查找命令

# 在目录下查找文件并打印路径,子目录也会查找
find /home/test -name test.sh -print 
12

命令选项:

  • -name 按照文件名查找
  • -perm 按照文件权限来查找文件
  • -prune 不在当前指定的目录查找。如果同时使用了-depth,那-prune会被忽略
  • -user 按文件属主来查找文件
  • -group 按所属组来查找文件
  • -mtime -n +n 按照文件更改时间来查找文件
  • -nogroup 查找无有效所属组的文件,即在该所属组在/etc/groups中不存在
  • -nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在
  • -newer file1 !file2 查找更改时间比file1新但比file2老的文件
  • -type 查找某一类型的文件
  • -size n[c]查找文件工度为n块的文件,带有c时表示文件长度以字节计算
  • -depth 在查找文件地,首先查找当前目录中的文件,然后在其子目录中查找。
  • -fstype 查找位于某一类型雇佣系统中的文件
  • -mount 在查找文件地不跨越文件系统mount点
  • -cpio 对匹配的文件使用cpio命令,将这些文件备份到磁带设备中
# 模糊搜索,在$HOME目录下查找后缀txt的文件
find ~ -name "*.txt" -print 
# 使用正则表达式,查找当前目录及子目录里大写开头的文件
find . -name "[A-Z]*" -print 
# 在/etc里找host开头的文件
find /etc -name "host*" -print 
# 查找两个小写字母开头,后跟两个数字的文件
find . -name "[a-z][a-z][0-9][0-9].txt" -print 
# 当前目录下找权限为755的文件
find . -perm 755 -print 
# 忽略/apps/bin目录进行查找
find /apps -name "/apps/bin" -prune -o -print 
# 用ls -l 列出所找到的文件
find . -type f -exec ls -l {} \;
# 删除5天前的日志
find . -name "*.LOG" -mtime +5 -ok rm {} \;
find /home/hap/src/* -name "*.o" -exec rm {} \;

# 使用xargs 
# 用grep命令在所有的普通文件中搜索device单词
find / -type f -print | xargs grep "device" 
123456789101112131415161718192021
# 查找大文件
find . -type -size +200M 
# 查找大于400M的文件
find . -type f -size +400M  -print0 | xargs -0 du -h
1234

二、文本搜索工具 grep

全称是 Global Regular Expression Print,使用正则表达式搜索文本。命令格式: grep [options]主要参数:

  • -a或--text 不要忽略二进制的数据。
  • -A<显示列数>或--after-context=<显示列数> 显示搜索到的那列和该列之后的内容。
  • -b或--byte-offset 在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。
  • -B<显示列数>或--before-context=<显示列数> 显示搜索到的列和该列之前的内容。
  • -c或--count 计算符合范本样式的列数。
  • -C<显示列数>或--context=<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
  • -d<进行动作>或--directories=<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
  • -e<范本样式>或--regexp=<范本样式> 指定字符串做为查找文件内容的范本样式。
  • -E或--extended-regexp 将范本样式为延伸的普通表示法来使用。
  • -f<范本文件>或--file=<范本文件> 指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。
  • -F或--fixed-regexp 将范本样式视为固定字符串的列表。
  • -G或--basic-regexp 将范本样式视为普通的表示法来使用。
  • -h或--no-filename 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
  • -H或--with-filename 在显示符合范本样式的那一列之前,表示该列所属的文件名称。
  • -i或--ignore-case 忽略字符大小写的差别。
  • -l或--file-with-matches 列出文件内容符合指定的范本样式的文件名称。
  • -L或--files-without-match 列出文件内容不符合指定的范本样式的文件名称。
  • -n或--line-number 在显示符合范本样式的那一列之前,标示出该列的列数编号。
  • -q或--quiet或--silent 不显示任何信息。
  • -r或--recursive 此参数的效果和指定“-d recurse”参数相同。
  • -s或--no-messages 不显示错误信息。
  • -v或--revert-match 反转查找。
  • -V或--version 显示版本信息。
  • -w或--word-regexp 只显示全字符合的列。
  • -x或--line-regexp 只显示全列符合的列。
  • -y 此参数的效果和指定“-i”参数相同。
  • --help 在线帮助。
  • --color=auto 将搜索到的内容标上颜色。

pattern 正则表达式主要参数:

  • \ :忽略正则表达式中特殊字符的原有含义。
  • ^:匹配正则表达式的开始行。
  • $ :匹配正则表达式的结束行。
  • \<:从匹配正则表达 式的行开始。
  • \>:到匹配正则表达式的行结束。
  • [ ]:单个字符,如[A]即A符合要求 。
  • [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
  • .:所有的单个字符。
  • * :有字符,长度可以为0。

示例

# 从.txt文件中查找包含'a'字符串的文本文件
grep 'a' *.txt --color=auto
# 搜索包含连续4个字符的文件
grep '[a-z]\{4\}' *.txt
1234

三 、 sed 从文件中查找

sed 是利用脚本来处理文本文件,可以自动编辑一个或多个文件,简化重复操作。

命令格式sed [-nefr] [操作]

参数说明

  • -e

相关推荐

pyproject.toml到底是什么东西?(py trim)

最近,在Twitter上有一个Python项目的维护者,他的项目因为构建失败而出现了一些bug(这个特别的项目不提供wheel,只提供sdist)。最终,发现这个bug是由于这个项目使用了一个pypr...

BDP服务平台SDK for Python3发布(bdp数据平台)

下载地址https://github.com/imysm/opends-sdk-python3.git说明最近在开发和bdp平台有关的项目,用到了bdp的python的sdk,但是官方是基于p...

Python-for-Android (p4a):(python-for-android p4a windows)

一、Python-for-Android(p4a)简介Python-for-Android(p4a),一个强大的开发工具,能够将你的Python应用程序打包成可在Android设备上运行...

Qt for Python—Qt Designer 概览

前言本系列第三篇文章(QtforPython学习笔记—应用程序初探)、第四篇文章(QtforPython学习笔记—应用程序再探)中均是使用纯代码方式来开发PySide6GUI应用程序...

Python:判断质数(jmu-python-判断质数)

#Python:判断质数defisPrime(n):foriinrange(2,n):ifn%i==0:return0re...

为什么那么多人讨厌Python(为什么python这么难)

Python那么棒,为什么那么多人讨厌它呢?我整理了一下,主要有这些原因:用缩进替代大括号许多人抱怨Python完全依赖于缩进来创建代码块,代码多一点就很难看到函数在哪里结束,那么你就需要把一个函数拆...

一文了解 Python 中带有 else 的循环语句 for-else/while-else

在本文中,我们将向您介绍如何在python中使用带有else的for/while循环语句。可能许多人对循环和else一起使用感到困惑,因为在if-else选择结构中else正常...

python的numpy向量化语句为什么会比for快?

我们先来看看,python之类语言的for循环,和其它语言相比,额外付出了什么。我们知道,python是解释执行的。举例来说,执行x=1234+5678,对编译型语言,是从内存读入两个shor...

开眼界!Python遍历文件可以这样做

来源:【公众号】Python技术Python对于文件夹或者文件的遍历一般有两种操作方法,一种是至二级利用其封装好的walk方法操作:import osfor root,d...

告别简单format()!Python Formatter类让你的代码更专业

Python中Formatter类是string模块中的一个重要类,它实现了Python字符串格式化的底层机制,允许开发者创建自定义的格式化行为。通过深入理解Formatter类的工作原理和使用方法,...

python学习——038如何将for循环改写成列表推导式

在Python里,列表推导式是一种能够简洁生成列表的表达式,可用于替换普通的for循环。下面是列表推导式的基本语法和常见应用场景。基本语法result=[]foriteminite...

详谈for循环和while循环的区别(for循环语句与while循环语句有什么区别)

初九,潜龙勿用在刚开始使用python循环语句时,经常会遇到for循环和while循环的混用,不清楚该如何选择;今天就对这2个循环语句做深入的分析,让大家更好地了解这2个循环语句以方便后续学习的加深。...

Python编程基础:循环结构for和while

Python中的循环结构包括两个,一是遍历循环(for循环),一是条件循环(while循环)。遍历循环遍历循环(for循环)会挨个访问序列或可迭代对象的元素,并执行里面的代码块。foriinra...

学习编程第154天 python编程 for循环输出菱形图

今天学习的是刘金玉老师零基础Python教程第38期,主要内容是python编程for循环输出菱形※。(一)利用for循环输出菱形形状的*号图形1.思路:将菱形分解为上下两个部分三角形图案,分别利用...

python 10个堪称完美的for循环实践

在Python中,for循环的高效使用能显著提升代码性能和可读性。以下是10个堪称完美的for循环实践,涵盖数据处理、算法优化和Pythonic编程风格:1.遍历列表同时获取索引(enumerate...