Фильтрация результата команды находки, так, чтобы это возвратило только каталоги

Я разрешил это после обсуждения IRC с Thomas Waldmann. Это было зафиксировано путем изменения wikiconfig.py и затем chown -R www-data:www-data underlay/

Мой wikiconfig.py в случае, если это помогает кому-то еще...

import sys

#from MoinMoin.multiconfig import DefaultConfig
from MoinMoin.config.multiconfig import DefaultConfig


class Config(DefaultConfig):

    # Wiki identity ----------------------------------------------------

    # Site name, used by default for wiki name-logo [Unicode]
    sitename = u'Mike\'s Wiki'

    # Wiki logo. You can use an image, text or both. [Unicode]
    # Example: u'<img src="/wiki/mywiki.png" alt="My Wiki">My Wiki'
    # For no logo or text, use ''
    logo_string = sitename

    # The interwiki name used in interwiki links
    interwikiname = None


    # Critical setup  ---------------------------------------------------

    # Misconfiguration here will render your wiki unusable. Check that
    # all directories are accessible by the web server or moin server.

    # If you encounter problems, try to set data_dir and data_underlay_dir
    # to absolute paths.

    # Where your mutable wiki pages are. You want to make regular
    # backups of this directory.
    #data_dir = '/var/local/lib/mydebianwiki/data/'
    data_dir = '/opt/mydebianwiki/data/'

    # Where read-only system and help page are. You might want to share
    # this directory between several wikis. When you update MoinMoin,
    # you can safely replace the underlay directory with a new one. This
    # directory is part of MoinMoin distribution, you don't have to
    # backup it.
    data_underlay_dir = '/opt/mydebianwiki/underlay/'

    # This must be '/wiki' for twisted and standalone. For CGI, it should
    # match your Apache Alias setting.
    url_prefix = '/wiki'


    # Security ----------------------------------------------------------

    # Security critical actions (disabled by default)
    # Uncomment to enable options you like.
    #allowed_actions = ['DeletePage', 'AttachFile', 'RenamePage']
    allowed_actions = ['DeletePage', 'AttachFile', 'RenamePage']

    # Enable acl (0 to disable)
    acl_rights_default = u'Known:read,write,delete,revert All:read'

    # IMPORTANT: grant yourself admin rights! replace YourName with
    # your user name. See HelpOnAccessControlLists for more help.
    # All acl_right_xxx must use unicode [Unicode]
    acl_rights_before = u"MikePennington:read,write,delete,revert,admin"

    # Link spam protection for public wikis (Uncomment to enable)
    # Needs a reliable internet connection.
    #from MoinMoin.util.antispam import SecurityPolicy


    # Mail --------------------------------------------------------------

    # Configure to enable subscribing to pages (disabled by default)
    # or sending forgotten passwords.

    # SMTP server, e.g. "mail.provider.com" (empty or None to disable mail)
    mail_smarthost = "localhost"

    # The return address, e.g "My Wiki <noreply@mywiki.org>"
    mail_from = "noreply@foo.com"

    # "user pwd" if you need to use SMTP AUTH
    mail_login = ""


    # User interface ----------------------------------------------------

    # Add your wikis important pages at the end. It is not recommended to
    # remove the default links.  Leave room for user links - don't use
    # more than 6 short items.
    # You MUST use Unicode strings here, but you need not use localized
    # page names for system and help pages, those will be used automatically
    # according to the user selected language. [Unicode]
    navi_bar = [
        # Will use page_front_page, (default FrontPage)
        u'%(page_front_page)s',
        u'RecentChanges',
        u'FindPage',
        u'HelpContents',
    ]

    # The default theme anonymous or new users get
    theme_default = 'modernized'


    # Language options --------------------------------------------------

    # See http://moinmoin.wikiwikiweb.de/ConfigMarket for configuration in
    # YOUR language that other people contributed.

    # The main wiki language, set the direction of the wiki pages
    default_lang = 'en'

    # Content options ---------------------------------------------------

    # Show users hostnames in RecentChanges
    show_hosts = 1

    # Enumerate headlines?
    show_section_numbers = 0

    # Customization options --------------------------------------------
    bang_meta = 1
    trail_size = 10
4
24.08.2013, 18:18
2 ответа

Да, -type d опция используется для этого.

Например:

$ find /boot -type d
/boot
/boot/grub
/boot/grub/locale
/boot/grub/fonts
/boot/grub/i386-pc

Вот соответствующий раздел страницы справочника:

   -type c
          File is of type c:

          b      block (buffered) special

          c      character (unbuffered) special

          d      directory

          p      named pipe (FIFO)

          f      regular file

          l      symbolic link; this is never true if the -L option or the
                 -follow option is in effect, unless the symbolic link  is
                 broken.  If you want to search for symbolic links when -L
                 is in effect, use -xtype.

          s      socket

          D      door (Solaris)
2
27.01.2020, 20:58
  • 1
    Спасибо!, я посмотрел на страницу справочника, но я все еще нахожу их немного озадачивающими, должно быть, пропустил его. :) –   24.08.2013, 18:28

Как дополнение для Обнуления ответа Пирея, если Вы хотите включать символьные ссылки, которые решают к каталогам:

  • с GNU найдите:

    find . -xtype d
    
  • POSIXly:

    find . -exec test -d {} \; -print
    

    к которому можно оптимизировать

    find . \( -type d -o -type l -exec test -d {} \; \) -print
    

Если бы Вы хотите следовать за символьными ссылками при убывании дерева каталогов, Вы сделали бы:

find -L . -type d

который сообщил бы о каталогах и символьных ссылках на каталоги. Если Вы не хотите символьных ссылок:

  • с GNU найдите:

    find -L . -xtype d
    
  • POSIXly:

    find -L . -type d ! -exec test -L {} \; -print
    

С zsh:

printf '%s\n' **/*(D/)   # directories
printf '%s\n' **/*(D-/)  # directories, or symlinks to directories
printf '%s\n' ***/*(D/)  # directories, traversing symlinks
printf '%s\n' ***/*(D-/) # directories or symlinks to directories,
                         # traversing symlinks
1
27.01.2020, 20:58

Теги

Похожие вопросы