gpt4 book ai didi

regex - 在 `find` 中工作的正则表达式

转载 作者:行者123 更新时间:2023-12-03 09:13:27 24 4
gpt4 key购买 nike

我有一个目录,其中包含大约 8000 个以下形式的文件

output/Manuscript_00750_AnimalGiants-compact.json
output/Manuscript_00750_AnimalGiants-expanded.json
output/Manuscript_00750_AnimalGiants.json
output/Manuscript_00752_AnimalGiants-compact.json
output/Manuscript_00752_AnimalGiants-expanded.json
output/Manuscript_00752_AnimalGiants.json
output/Unit_TZH_12345_Foo-compact.json
output/Unit_TZH_12345_Foo-expanded.json
output/Unit_TZH_12345_Foo.json

我需要想出一个正则表达式来处理 find工具仅选择手稿紧凑的:

output/Manuscript_00750_AnimalGiants-compact.json
output/Manuscript_00752_AnimalGiants-compact.json

提出正则表达式是很容易的部分,但是得到 find合作是困难的部分。

这是我的正则表达式:

/Manuscript[0-9_a-zA-Z]+-compact\.json/

这是我尝试过的一些命令;全部产生零结果。 cwd是output/上面的目录:

find output -regex "Manuscript[0-9_a-zA-Z]+-compact\.json"
find output -regex "\./output/Manuscript[0-9_a-zA-Z]+-compact\.json/"
find output -regex ".*\Manuscript[0-9_a-zA-Z]+-compact.*\json"

但是这个命令确实产生了结果 - 它选择了所有以“Manuscript”开头的文件,这显然太宽泛了:

find output -regex ".*\Manuscript.*\json"

find 的正确正则表达式格式是什么?在这里?

最佳答案

在 OSX 上,您可以使用带有扩展正则表达式的 find:

find -E output -regex '.*/Manuscript[0-9_a-zA-Z]+-compact\.json$'

在 gnu find 上使用:

find output -regextype posix-extended -regex '.*/Manuscript[0-9_a-zA-Z]+-compact\.json$'

关于regex - 在 `find` 中工作的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39727621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com