我想仅根据我给出的目录而不是其下行或子目录中的模式列出所有文件或特定文件。我尝试使用 -max深度 1 / -深度 1 / -prune 选项。当使用 -maxdepth 选项时,它说“maxdepth 不是有效选项”,当使用 -length 选项时,它说“连接缺失”。
例如,
#1
find /directory/ -maxdepth 1 -type f -name '*.txt' -ls
#2
find /directory/ -depth 1 -type f -name '*.txt' -ls
#3
find . \( -name .dir1 -prune -o -name '*.txt' \) -print
我无法使用这些选项中的任何一个。如果我的脚本有任何问题,请纠正我/让我知道如何仅从我给出的目录而不是从其子目录获取文件。实际上,除了上面的例子之外,我几乎尝试了很多选择,但我仍然坚持这一点。预先感谢您的回复。
find /path/to/folder -type f -name 'pattern'
在 find 4.8.0 中启用了最大深度:
find /path/to/folder -maxdepth 1 -name 'pattern'
替代
ls
:ls \<path to folder\> | grep 'pattern'
所有 3 个都返回相同的结果
find /mnt/c/Users/a/Videos -type f -name 'M*êt*.mp4'
find /mnt/c/Users/a/Videos -maxdepth 1 -name 'M*êt*.mp4'
ls /mnt/c/Users/a/Videos | grep '^M.*\êt.*\.mp4$'
Marie Laforêt - Mon amour mon ami (Audio Officiel) [oxnX23_494U].mp4
Marie Laforêt - Mon amour, mon ami - Michel Drucker [jXcvHoz1p-8].mp4