find grep 组合的一个例子
用来查找所有".h"文件中的含有“helloworld”字符串的文件.
find -name "*.h" -exec grep "helloworld" {} \;
使用exec或ok来执行shell命令
使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的
在有些操作系统中只允许-exec选项执行诸如l s或ls -l这样的命令。大多数用户使用这一选项是为了查找旧文件并删除它们。建议在真正执行rm命令删除文件之前,最好先用ls命令看一下,确认它们是所要删除的文件。
exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{ },一个空格和一个\,最后是一个分号。为了使用exec选项,必须要同时使用print选项。如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。
例如:为了用ls -l命令列出所匹配到的文件,可以把ls -l命令放在find命令的-exec选项中
# find . -type f -exec ls -l { } \;
-rw-r--r-- 1 root root 34928 2003-02-25 ./conf/httpd.conf
-rw-r--r-- 1 root root 12959 2003-02-25 ./conf/magic
-rw-r--r-- 1 root root 180 2003-02-25 ./conf.d/README
上面的例子中,find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls -l命令将它们列出。
在/logs目录中查找更改时间在5日以前的文件并删除它们:
$ find logs -type f -mtime +5 -exec rm { } \;
记住:在shell中用任何方式删除文件之前,应当先查看相应的文件,一定要小心!当使用诸如mv或rm命令时,可以使用-exec选项的安全模式。它将在对每个匹配到的文件进行操作之前提示你。
在下面的例子中, find命令在当前目录中查找所有文件名以.LOG结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示。
$ find . -name "*.conf" -mtime +5 -ok rm { } \;
< rm ... ./conf/httpd.conf > ? n
按y键删除文件,按n键不删除。
任何形式的命令都可以在-exec选项中使用。
在下面的例子中我们使用grep命令。find命令首先匹配所有文件名为“ passwd*”的文件,例如passwd、passwd.old、passwd.bak,然后执行grep命令看看在这些文件中是否存在一个sam用户。
# find /etc -name "passwd*" -exec grep "sam" { } \;
sam:x:501:501::/usr/sam:/bin/bash
分享到:
相关推荐
- `-follow`:如果find命令遇到符号链接文件,就跟踪至链接指向的文件。 - `-exec`:对匹配的文件执行指定的shell命令。 - `-ok`:与`-exec`相同,但在执行之前提示用户。 举例如下: - `find . -name "*.txt" -...
记住,使用Find命令时一定要谨慎,特别是涉及到删除操作,以免误删重要文件。在实际工作中,可以结合其他命令如`grep`、`awk`等,构建更复杂的文件查找和处理流程。希望这个指南能帮助你更好地理解和运用Linux Find...
### UNIX find命令的使用 #### 一、概述 在UNIX系统中,`find`命令是一个极其强大的工具,用于在文件系统中查找文件。通过结合不同的选项和操作符,`find`命令可以执行复杂的搜索任务,比如按名称、类型、大小、...
有两个主要的命令用于这一目的:`find`和`grep`。虽然它们都可以帮助我们查找信息,但它们的作用和使用方法有所不同。 `find`命令是基于文件的元数据进行搜索的。它允许你根据诸如文件名、文件大小、所有者、所属组...
`findx`命令的使用方式与Linux下的`find`命令非常接近,使得熟悉Linux操作的用户在Windows环境下也能便捷地进行文件搜索。 首先,让我们了解一下`findx`的基本用法。在Windows命令行中,你可以通过输入`findx --...
`find`命令通常与`xargs`命令结合使用,将找到的文件作为参数传递给其他命令。例如: ```bash find . -name "core" -print | xargs echo "" >/tmp/core.log ``` 这个命令会将所有名为`core`的文件的路径写入到`/tmp...
在Linux系统中,`find`命令是一个非常强大的工具,用于在指定路径下查找符合特定条件的文件。这个命令可以帮助我们快速定位系统中的文件,进行管理、备份或删除操作。以下是对`find`命令的一些详细解释和实例说明: ...
`find`命令是UNIX和Linux操作系统中用于查找文件的强大工具,它可以...通过组合这些选项和参数,`find`命令可以实现非常复杂的文件查找需求。在日常系统管理或软件开发中,熟练掌握`find`命令能够极大地提高工作效率。
- **grep** 命令在文本搜索方面非常高效且易于使用。 - **sed** 命令提供了更高级的文本处理功能,适用于复杂的文本转换任务。 通过结合使用这些命令,可以大大提高 Linux 系统管理员的工作效率。
`unix find命令`是Unix和类Unix操作系统中用于在文件系统中查找文件的强大工具。它允许用户基于各种条件,如文件名、修改时间、大小等,来定位和操作文件。以下是对`find命令`的详细解释及其常用选项的介绍。 1. **...
`find`命令是Linux环境下查找文件的强大工具,尤其对新手来说,它是理解和学习Linux文件系统特性的关键。由于Linux文件系统结构复杂,不像Windows那样有统一的文件名格式,因此熟练掌握`find`命令对于定位文件至关...
通过以上介绍,我们可以看到 `find` 命令的强大之处在于其提供了丰富的选项和灵活的组合方式,使得用户能够精确地根据各种条件来查找文件。这对于日常管理和维护 Linux 系统非常有用。希望本文的实例能帮助您更好地...
`Grep学习笔记.pdf`将深入讲解`grep`的正则表达式使用、选项设置以及如何结合其他命令进行高效检索。 `find`命令则用于在文件系统中查找满足特定条件的文件。它可以根据文件名、大小、时间戳等多种条件进行搜索,是...
#### 组合使用 `find` 命令可以通过逻辑运算符 `-and`、`-or` 和 `-not` 进行条件组合,以更灵活地匹配文件。例如: ```sh $ find . -name "april*" -o -name "may*" -print # 查找当前目录下所有以 april 或 may ...
这种组合使用方式在处理大量文件时非常有用,特别是在需要对多个文件执行相同操作,且文件名可能包含特殊字符的情况下。它避免了因文件名中包含空格或其他特殊字符而导致的问题,同时提高了效率,因为`xargs`可以...
使用`cd`命令进入alert日志所在的目录,然后用`grep`命令搜索特定错误,例如`grep ORA- alertSID.log`。 2. **根据Unix用户ID查找用户名**: 通过`grep`命令在`/etc/passwd`文件中查找对应用户信息,如`grep ...
同时,Linux 命令行方式也提供了管道符“|”,允许将多个命令组合成一条复杂的命令。例如,使用 `rpm -qa` 命令可以列出系统中所有安装的 RPM 包,然后使用管道符“|”将输出送给 `grep` 命令,以便找出带有特定字符...
### 使用find命令的-links选项 `find`命令的`-links`选项用于查找具有多个硬链接的文件。这可以通过结合使用`ls -li`命令来查看文件的inode、链接数以及文件权限等信息: ```bash # 查找/home目录下具有多个硬链接的...
以上只是Linux命令的冰山一角,实际操作中还有许多其他命令和复杂的组合使用方式。学习和熟练掌握这些命令能显著提升你在Linux环境下的工作效率。"Linux 系统命令及其使用详解.doc"文档应该提供了更深入的解释和实例...
通过与`find`、`grep`等命令组合使用,可以实现强大的文件管理和数据处理功能。 总结来说,`xargs`是Linux命令行中的一个强大工具,能够帮助用户更高效地处理大量数据,提高自动化任务的执行效率。掌握`xargs`的...