使用正则表达式检查特定目录是否具有以特定单词开头的文件夹

尼古拉斯·阿达穆(Nicholas Adamou)

我正在编写一个脚本,该脚本检查特定目录中是否存在以特定单词开头的任何子目录。

到目前为止,这是我的脚本:

#!/bin/bash

function checkDirectory() {
    themeDirectory="/usr/share/themes"
    iconDirectory="/usr/share/icons"
    # I don't know what to put for the regex. 
    regex=

    if [ -d "$themeDirectory/$regex" && -d "$iconDirectory/$regex" ]; then
       echo "Directories exist."
    else
       echo "Directories don't exist."
    fi
}

因此,您将regex如何检查特定目录中是否包含以特定单词开头的文件夹?

伊尔卡楚

如果您只想查找与给定模式/前缀匹配的目录,我想您可以使用find

find /target/directory -type d -name "prefix*"

或者,如果您只想要直接子目录:

find /target/directory -maxdepth 1 -type d -name "prefix*"

当然,-regex如果您需要实际的正则表达式匹配项,那也可以。(注意:我不记得-maxdepth是否是个gnu-ism。)

(更新)对,您想要一个if语句。Find总是返回零,因此我们不能使用返回值来检查是否找到了任何东西(与grep不同)。但是我们可以例如数线。通过管道传递输出wc以获取计数,然后查看其是否不为零:

if [ $(find /target/directory -type d -name "prefix*" | wc -l ) != "0" ] ; then
    echo something was found
else
    echo nope, didn't find anything
fi

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用正则表达式检查所有单词是否以特定字符开头

使用正则表达式返回具有特定命名约定的文件夹

正则表达式,用于获取具有以javascript中的特定单词开头的类名称的html元素

正则表达式仅在没有特定单词开头时才匹配字符

正则表达式以捕获具有特定结构的文件夹名称

使用正则表达式选择所有字符直到特定单词

使用正则表达式查找没有特定单词模式的 URL

使用正则表达式从特定单词后面获取括号中的所有内容

正则表达式查找以特定单词开头、包含和结尾的模式 (PHP)

正则表达式匹配以特定单词开头的字符串,后跟数字

具有未知嵌套目录深度的文件夹路径的正则表达式验证

正则表达式以匹配包含类中特定单词并具有特定ID的标签

正则表达式匹配特定单词

正则表达式完全匹配特定单词

否定正则表达式中的特定单词

特定单词的Python正则表达式

正则表达式排除特定单词

包含特定单词的正则表达式

不以特定单词结尾的正则表达式

选择包含带有正则表达式的特定单词的特定html标签

使用正则表达式从文本文件中在Python中的特定单词之后查找单词

在特定单词附近使用正则表达式 python 查找特定数字

使用正则表达式仅匹配特定单词中的一个单词

使用正则表达式删除特定单词之间的单词

正则表达式匹配特定单词而忽略特定单词

使用具有特定条件的正则表达式替换单词

正则表达式:匹配特定单词后的所有内容

正则表达式删除所有非数字或特定单词的内容

用于查找没有特定单词的 mp3 URL 的正则表达式