Comando "encontrar" del terminal Mac: ¿qué significa una doble barra en la salida del resultado?

Uso el command find para search en estructuras de directorys grandes y anidadas.

En el resultado, el resultado a veces incluye una barra doble (//).

Ejemplo (después de "Descargas"):

#> find ~/Downloads/ -iregex ".*some.*" /Users/michael/Downloads//subDirectory/some_file.pdf 

Primero pensé que marcaría el directory de trabajo actual. Pero ese no es el caso.

¿Cuál es el significado de esta doble barra?

Usualmente copio el resultado en el portapapeles, cambio al buscador. Luego "shift" + "command" + "g" y pegue la ruta (hasta el file) en el cuadro. Para que se abra el directory contenedor.

Funciona bien. Pero la barra doble que tengo que eliminar manualmente.

Por lo tanto: ¿cómo puedo evitarlo?

  • nohup o process persistente en Mac OS X ssh
  • creando un nuevo usuario en Mac ¿reiniciará todo?
  • ¿Cómo encontrar el culpable bloqueando los puertos TCP 80, 443 y 5223 en macOS?
  • Cambiar el símbolo del sistema de Terminal
  • ¿Cómo aislar los processs que evocan la actividad de lectura de disco mds_stores loca?
  • ¿Alguna herramienta Pdfinfo -terminal en OS X?
  • ¿Dónde se almacenan los files C "object" y "ejecutable" en Xcode?
  • Procesamiento del vino de Oporto Falló
  • 2 Solutions collect form web for “Comando "encontrar" del terminal Mac: ¿qué significa una doble barra en la salida del resultado?”

    find es bastante literal Cuando le dice que busque dentro de "~ / Descargas /", usa eso (incluyendo la barra inclinada) como el prefijo de lo que encuentre. Como hay una barra innecesaria e irrelevante al final del path que le diste, terminas con una barra adicional innecesaria e irrelevante en la salida.

    Solución: elimine el "/" final del directory de búsqueda:

     #> find ~/Downloads/ -iregex ".*some.*" /Users/michael/Downloads//subDirectory/some_file.pdf #> find ~/Downloads -iregex ".*some.*" /Users/michael/Downloads/subDirectory/some_file.pdf 

    ¿Cuál es el significado de esta doble barra?

    Significa que estás usando un extraño hallazgo antiguo de BSD.

    ¿Cómo puedo evitarlo?

    De hecho, puede omitir la barra diagonal en su command original, pero ya que se agrega automáticamente a través de la tabulación completada (que definitivamente debe usar tanto como sea posible), y ya que la barra final se utiliza en muchos lugares en otros lugares para asegurarse de que Tratar con un directory y no un nombre de file, omitirlo es contradictorio y tonto.

    En cambio, sugiero hacer una de estas otras cosas:

    a) Haga una envoltura para encontrar que las tuberías se sed: | sed 's @ // @ @'

    b) Instale los findutils de GNU con 'brew install findutils' y luego use 'gfind' directamente, alias 'find' para 'gfind', o agregue / usr / local / opt / findutils / libexec / gnubin a su ruta (que también agrega GNU findutils '' localizar ',' updatedb ', &' xargs ').

    c) Cambie a un sistema operativo GNU / Linux apropiado que no hubiera tenido este problema (y otros mil) en primer lugar. :pag

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).