当前位置 : 主页 > 编程语言 > java >

【command】find、grep、正则表达式

来源:互联网 收集:自由互联 发布时间:2022-06-23
fine ​​find [path] [options] [tests] [actions]​​ options: ​​depth​​​: 在查看目录之前先搜索目录的内容; ​​-follow​​: 跟随符号链接; ​​-maxdepth N​​: 最多搜索N层目录; ​​-mo

fine

​​find [path] [options] [tests] [actions]​​

options:

  • ​​depth​​​: 在查看目录之前先搜索目录的内容;
    【command】find、grep、正则表达式_搜索
  • ​​-follow​​: 跟随符号链接;
  • ​​-maxdepth N​​: 最多搜索N层目录;
  • ​​-mount​​: 不搜索其它文件系统中的目录;

【command】find、grep、正则表达式_搜索_02
tests:

【command】find、grep、正则表达式_当前目录_03

  • ​​-atime N​​: 文件在N天之前被最后访问过;
  • ​​-mtime N​​: 文件在N天之前被最后修改过;
  • ​​-name pattern​​: 文件名,不包括路径名;
  • ​​-newer otherfile​​: 文件比 otherfile 文件要新;
  • ​​-type c​​: d:目录,f:普通文件;
  • ​​-user name​​: 文件的拥有者是指定的用户 username;
  • 搜索当前目录下比文件while2要新的文件:​​find . -newer while2 -print​​,可能还会包括当前目录;
  • 如果仅要普通文件结果:​​find . -newer while2 -type f print​​
  • 查找以下划线开头的文件或者比while2要新的文件:​​find . \( -name "_*" -or -newer while2 \) -type f -print​​
  • actions:

    • ​​exec command​​​: 执行一条命令。这个动作必须使用​​\;​​来结束;
    • ​​-ok command​​: 与上一个类似,但是会针对每个要处理的文件,提示用户进行确认;
    • ​​-print​​: 打印文件名;
    • ​​-ls​​​:​​find . -newer while2 -type f -exec ls -l {} \;​​

    grep-(General Regular Expression Parser)

    使用find命令在系统中搜索文件,使用grep命令在文件中搜索字符串。

    ​​grep [options] PATTERN [FILES]​​

    options:

    • ​​-c​​: 输出匹配行的数目,而不是输出匹配的行;
    • ​​-E​​: 启用扩展表达式;
    • ​​-h​​: 取消每个输出行的普通前缀,即匹配查询模式的文件名;
    • ​​-i​​: 忽略大小写;
    • ​​-l​​: 只列出包含匹配行的文件名,而不输出真正的匹配行;
    • ​​-v​​: 对匹配模式取反,即搜索不匹配行而不是匹配行;
    • ​​grep in words.txt​​ 查询字符 in
    • ​​grep -c in words.txt words2.txt​​
    • ​​grep -c -v in words.txt words2.txt​​

    正则表达式

    • ​​^​​: 指向一行的开头;
    • ​​$​​: 指向一行的结尾;
    • ​​.​​: 任意单个字符;
    • ​​[]​​: 方括号内包含一个字符范围,其中任何一个字符都可以被匹配,例如字符范围a~e,或在字符范围前面加上^符号表示使用反向字符范围,即不匹配指定范围内的字符;


    上一篇:三种文件内容拷贝的方式
    下一篇:没有了
    网友评论