Linux find命令:搜索包含括号的文件名

我需要找到具有以下文件名的文件:

<some regex-matched text> (1).<some regex-matched text>

即我想搜索包含

的文件名
  • 以空格结尾的文本
  • 然后用左括号(括号)
  • 后跟数字1
  • 后跟右括号
  • 可能后跟一个圆点,后面再加上一些文字...

我首先去了find . -regex '.* \(1\)\..*'。但是括号被忽略了:返回与.* 1\..*匹配的文件。

在尝试寻找答案的过程中,我发现this page涵盖Linux find。在这里我找到了这个短语:

”分组时,反斜杠后加括号“ \(”, ‘\)’。”

[NB为您显示一个反斜杠,如该页面所示,我将反斜杠加倍以在上面编写单个反斜杠!]

我不确定该怎么做,即在这种情况下如何逃避普通括号。我认为将find表达式中的反斜杠加倍也许可行,但没有成功。

即使我尝试不使用正则表达式也执行此操作,find似乎在此位置的括号和/或点也有问题:

mike@M17A .../accounts $  find . -name *(1).pdf
[... finds stuff OK]
mike@M17A .../accounts $  find . -name *(1).*
find: paths must precede expression: ..
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec|time] [path...] [expression]
mike@M17A .../accounts $  find . -name *(1)\.*
find: paths must precede expression: ..
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec|time] [path...] [expression]

在这些尝试中,在初始*后面加上空格也会失败...

xujing_521 回答:Linux find命令:搜索包含括号的文件名

那是因为您不需要转义这些括号。这应该可以工作:

class User(AbstractUser):
    """
    Our own User model. Made by overriding Django's own AbstractUser model.
    We need to define this as the main user model in settings.py with 
    variable AUTH_USER_MODEL *IMPORTANT* 
    """
    is_admin = models.BooleanField(default=False)
    is_staff = models.BooleanField(default=False)
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    email = models.EmailField(
        max_length=255,unique=True,verbose_name="email address"
    )

    objects = MyUserManager()

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

    def __str__(self):
        return self.email

尽管使用了捕获组(转义括号)class UserAdmin(BaseUserAdmin): add_form = UserCreationForm list_display = ('email','is_admin') list_filter = ('is_admin',) fieldsets = ( (None,{'fields': ('email','password')}),('Permissions',{'fields': ('is_admin',)}) ) search_fields = ('email',) ordering = ('email',) admin.site.register(User,UserAdmin) ,但我们可以将最后一个匹配项(可能是后面跟着一个点,后面再加上一些文本)与{{1 }}

本文链接:https://www.f2er.com/2817798.html

大家都在问