AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[find](unix)

Martin Hope
notaorb
Asked: 2025-01-24 17:16:51 +0800 CST

Unix 'find' 实用程序:关于与数学中的 Kleene Star 的关系的问题

  • 4

有人知道最左列中的 Unixfind搜索 -name 查询与Wikipedia_?上定义的 Kleene Star 有何关系吗?如何使用完成行?_?find

      . : empty string,  X : cartesian product
      -name \A\B                 Language A X B
      -name \ABC                 Language A X B X C 

      -name : name at leafs, builds set of string in language

      -name \.         V^0 {e, ""} language only of the empty string   A with only one leg?
      -name \?         V^1  V      language of single characters
      -name \???...    V^n         language of n character strings, concatenates strings in language
      -name \*         V^*         langauge of \cup_{i\gte0} V^i     
 a?   -name \n         V^n         like \{n\} in grep with integer?
 b?   -name \*n        (V^*)^n     language of n words, word can be empty
      -name \*\??...   (V^*)^n        
      -name \?\*       V^+         langauge of \cup_{i\gte1} V^i
      -name \?\*\??... (V^+)^n     language of n words, word must have character

看起来是只有一条腿且长度定义的 .图。使用,但是我似乎找不到与 等效的。Agrep\{n\}a?find

find
  • 1 个回答
  • 49 Views
Martin Hope
Harimbola Santatra
Asked: 2025-01-19 15:20:09 +0800 CST

使用 vim 查找包含空格的文件

  • 5

我有一个文件,其名称中包含空格:my file.txt。

如果我想找到具有此名称的文件并使用 将其输出通过管道传输到 vim args,则我必须使用--null|-0才能正确处理空格:

find . -iname "my*file.txt" | xargs --null vim

问题是传递给命令的文件名是my file.txt^@。

是vim 中的空字符^@。

那么我怎样才能将my file.txt文件从findvimfzf传递出去?

find
  • 2 个回答
  • 43 Views
Martin Hope
mariano-daniel
Asked: 2025-01-18 07:21:15 +0800 CST

两个 SuseLinux 服务器之间的 find 输出不同

  • 5

我有两台 Suse 15.6 服务器,都有相同的目录和文件;第一个例子在 GCP VM 上运行,另一个在 VMWare VM 上运行。

不确定我缺少哪个 ENV var,因为两者都有declare -x LANG="en_US.UTF-8"和declare -x LS_OPTIONS="-A -N --color=tty -T 0"(不确定是否会以任何方式修改 find 的输出)

两台服务器均在运行find (GNU findutils) 4.8.0

我需要将输出重定向到一个文件,以便可以比较它们,但由于某种原因,其中一个首先显示点文件,而另一个则从 jre 文件夹开始。

# find . -type f | less
./.install4j/user/commons-codec.jar
./.install4j/user/commons-httpclient.jar
./.install4j/user/commons-io.jar
./.install4j/user/dom4j.jar
./.install4j/user/flatlaf.jar
./.install4j/user/inception.jar
./.install4j/user/modzdetector.jar
./.install4j/user/slf4j-api.jar
./.install4j/user/slf4j-jdk14.jar
./.install4j/MessagesDefault
./.install4j/files.log
./.install4j/i4j_extf_0_4r1oza.utf8
./.install4j/i4j_extf_1_4r1oza.utf8
./.install4j/i4j_extf_2_4r1oza_1pb4rjn.png
./.install4j/i4j_extf_3_4r1oza_1wyvt5o.png
./.install4j/i4j_extf_4_4r1oza_10elu9m.png
./.install4j/i4j_extf_5_4r1oza_18gg8kx.png
./.install4j/[email protected]
./.install4j/i4j_extf_5_4r1oza_18gg8kx@2x_dark.png
./.install4j/i4j_extf_5_4r1oza_18gg8kx_dark.png
./.install4j/i4j_extf_6_4r1oza_deir7z.png
./.install4j/i4jempty.ttf
./.install4j/i4jparams.conf
./.install4j/i4jruntime.jar
./.install4j/inst_jre.cfg
./.install4j/install.prop
./.install4j/installation.id
./.install4j/installation.log
./.install4j/launcher0.jar
./.install4j/launcher2bfa42ba.jar
./.install4j/libi4jinst.dylib
./.install4j/libi4jinst2.dylib
./.install4j/pref_jre.cfg
./.install4j/response.varfile
find . -type f | less
./jre/bin/rmiregistry
./jre/bin/keytool
./jre/bin/jrunscript
./jre/bin/jfr
./jre/bin/java
./jre/conf/sound.properties
./jre/conf/sdp/sdp.conf.template
./jre/conf/security/policy/unlimited/default_local.policy
./jre/conf/security/policy/unlimited/default_US_export.policy
./jre/conf/security/policy/README.txt
./jre/conf/security/policy/limited/default_local.policy
./jre/conf/security/policy/limited/default_US_export.policy
./jre/conf/security/policy/limited/exempt_local.policy
./jre/conf/security/java.security
./jre/conf/security/java.policy
./jre/conf/net.properties
./jre/conf/logging.properties
./jre/conf/management/jmxremote.password.template
./jre/conf/management/management.properties
./jre/conf/management/jmxremote.access
./jre/legal/java.xml.crypto/santuario.md
./jre/legal/jdk.dynalink/dynalink.md
./jre/legal/java.base/aes.md
./jre/legal/java.base/public_suffix.md
./jre/legal/java.base/ASSEMBLY_EXCEPTION
./jre/legal/java.base/LICENSE
./jre/legal/java.base/icu.md
./jre/legal/java.base/unicode.md
./jre/legal/java.base/c-libutl.md
./jre/legal/java.base/asm.md
./jre/legal/java.base/cldr.md
./jre/legal/java.base/ADDITIONAL_LICENSE_INFO
lines 1-32
find
  • 1 个回答
  • 14 Views
Martin Hope
jsx97
Asked: 2024-12-17 16:34:40 +0800 CST

查找并删除空文件:“-size 0”与“-empty”

  • 5

为了查找并删除空文件,我发现了以下 Stack Overflow 问题:

https://stackoverflow.com/q/3157343

那里大约有 10 个答案,但所有答案都使用-size 0而不是-empty。

例如,+153 答案:

find . -name 'file*' -size 0 -print0 | xargs -0 rm

另一个答案,+100:

find -name 'file*' -size 0 -delete

为什么?换句话说,-size 0相比而言,有哪些优势-empty?

对于 macOS,我个人的解决方案是

find . -mindepth 1 -maxdepth 1 -type f -empty -print -delete
find
  • 1 个回答
  • 48 Views
Martin Hope
user1578026
Asked: 2024-12-09 12:27:00 +0800 CST

为什么我不能使用 find 来扫描已修改的文件中是否存在病毒和恶意软件?

  • 8
该问题已从 Server Fault迁移,因为它可以在 Unix & Linux Stack Exchange 上找到答案。14 小时前迁移 。

我需要扫描 Linux 系统中的病毒/恶意软件,仅扫描整个文件系统。有几个选项可以考虑。

  • 一种是用户通常的做法:每天使用防病毒软件扫描一次系统。
  • 第二个选项是查找过去一天修改的文件并将该列表提供给防病毒程序。

我在包含 500 万个空文件的目录上测试了以下 bash 命令find,它非常高效。

date;find /test/ -type f -ctime -1 -type f 1>./find_ctime.out 2>./find.errors;date

只需约5秒。

我使用 -ctime 选项只是为了克服使用 touch 等实用程序更改某些程序修改时间的问题。

大多数管理员在谈论系统扫描时都会谈论使用防病毒软件进行完整扫描。

为什么不可以使用 find 来获取修改的文件列表并对其进行扫描?

find
  • 1 个回答
  • 521 Views
Martin Hope
Veera V
Asked: 2024-12-06 02:58:13 +0800 CST

使用 -mtime 查找无法检查当前文件

  • 7

考虑下面两个计划同时运行的命令(通过 Autosys,恰好在早上 8 点)。

该find命令删除了超过 15 天的文件但以非零状态退出:

???find missing /app/source/a.txt no such file or directory

但是,a.txt已经是一天前了。为什么该find命令会验证运行期间存在但同时移动到另一个文件夹的最近文件?

find /app/source -type f -name -mtime +15 rm -f {} \;

mv /app/source/a.txt /app/backup/
find
  • 2 个回答
  • 196 Views
Martin Hope
jsx97
Asked: 2024-11-20 19:52:16 +0800 CST

使用 `find` 查找隐藏文件,但忽略 DS_Store 文件

  • 5

我尝试使用它find来查找文件...

  • 使用以下方式隐藏chflags,例如chflags hidden my_file
  • 或者文件名以句点开头,例如.my_file
  • 并忽略 macOS 特定的.DS_Store文件

当前版本是

find . -mindepth 1 -maxdepth 1 -name '.*' -not -name '.DS_Store' -o -flags -hidden

但它没有排除.DS_Store文件。如何让它工作?

find
  • 1 个回答
  • 37 Views
Martin Hope
jsx97
Asked: 2024-11-11 17:13:03 +0800 CST

'-depth 1' 与 '-mindepth 1 -maxdepth 1'

  • 9

我在 macOS 机器上有以下目录结构:

dir1/
|- file1.txt
|- dir2/
   |- file2.txt
   |- dir3
      |- file3.txt

然后我运行这两个find命令:

find . -depth 1 -path '*.txt'
find . -mindepth 1 -maxdepth 1 -path '*.txt'

目标是非递归搜索.txt中的所有文件dir1。如果在 中使用dir1,两个命令都会返回file1.txt,但我被告知只有第二个命令(带有-mindepth和-maxdepth)才是正确的。真的是这样吗?有人能解释一下区别吗?

第二个问题是,如果我需要递归搜索,我应该-mindepth 1 -maxdepth 1全部删除还是只删除-maxdepth 1一部分?

find
  • 1 个回答
  • 309 Views
Martin Hope
SekstusEmpiryk
Asked: 2024-10-29 00:22:56 +0800 CST

NetBSD 在 find 中的“-f”选项

  • 6

我不明白在 NetBSD 上查找命令的“-f”选项是什么意思。

手册:https://man.netbsd.org/find.1说

-f 指定 find 要遍历的文件层次结构。文件层次结构也可以指定为紧跟在选项后面的操作数。

用法:

查找 [-H | -L | -P] [-dEhsXx] -f 文件 [文件 ...] [表达式]

查找 [-H | -L | -P] [-dEhsXx] 文件 [文件 ...] [表达式]

我希望以下两个调用是等效的:

home# find ./ -name "*c"
./1.c
home# find -f ./ -name "*c"
find: unknown option -- n
find: unknown option -- a
find: unknown option -- m
find: unknown option -- e
./
./1.c
find: *c: No such file or directory

为了得到第二个等价物,我必须运行

home# find -f ./ -- -name "*c"
./1.c

我是否遗漏了什么?

find
  • 1 个回答
  • 65 Views
Martin Hope
mikemtnbikes
Asked: 2024-10-17 02:09:29 +0800 CST

使用 -L 与 find 和 xarg 时出现 cp‘相同文件’错误

  • 7

我正在尝试用它们指向的文件替换当前目录中的符号链接。我以为我理解了“cp”和“-L”参数,但显然不是。

这是我正在使用的命令

find ./ -maxdepth 1 -type l -regex ".*\(pdf\|odp\)" | xargs readlink -f | xargs cp -Lf -t .

这是我得到的错误

cp: '/home/user/dir1/dir2/dir3/file.pdf' and './file.pdf' are the same file

我错过了什么

find
  • 1 个回答
  • 41 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve