Sigo la sugerencia de herramientas de Unix en Twitter y es interesante que muchas de las sugerencias que se publican no están disponibles en OS X.
Por ejemplo:
cp - u solo copiará archivos que no existen, o que son más nuevos que sus contrapartes existentes, en el directorio de destino.
Probar esto en mi máquina da como resultado:
cp: illegal option -- u
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
¿Por qué estas opciones no están disponibles y es posible acceder a ellas en OS X?
Obtenga homebrew y haga que instale las utilidades principales. Luego puede ver si la versión GNU de cp admite las banderas que desea. Aquí hay una buena respuesta en un sitio asociado y extraeré los pasos exactos que necesitará para reemplazar cp por la versión GNU si lo desea:
Aquí está homebrew - Enlace
Aquí está la larga historia - https://superuser.com/questions/476575/replace-os-xs-shell-commands-with-the-linux-versions/476594#476594
Un ejemplo de tal entorno es Homebrew que, por ejemplo, tiene GNU, sed
entre otras cosas. Una vez que haya instalado Homebrew, puede escribir
brew install coreutils
e instale GNU Coreutils . Estos le proporcionarán sed
, date
, printf
y wc
muchas otras herramientas que se envían con GNU/Linux, pero no con OS X. Sin embargo, para no "anular" los archivos binarios predeterminados de OS X, tendrán el prefijo g
predeterminado. Entonces, después de instalar Coreutils, si desea usar GNU sed, escriba
gsed
Si esto es demasiado complicado para escribir cada vez, puede agregar un directorio "gnubin" a su RUTA y simplemente llamar a GNU sed con sed
. Deberá agregar lo siguiente a su ~/.bash_profile
:
PATH="$(brew --prefix coreutils)/libexec/gnubin:$PATH"
port
?sudo port install coreutils
.La razón es que OSX usa herramientas de línea de comandos BSD y los usuarios de información sobre herramientas de Unix probablemente estén usando Linux, que usa herramientas de línea de comandos GNU.
Puede instalar herramientas GNU en OSX (y BSD en Linux).
La forma más fácil es usar un administrador de paquetes como Macports, Homebrew o Fink
Lrí
brew install coreutils findutils gnu-sed gawk
. Consulte apple.stackexchange.com/questions/69223/… .gordon davisson
gcp
para evitar confusiones) no sabe cómo copiar los metadatos complejos que pueden tener los archivos OS X (atributos extendidos, etc.); por lo tanto, si lo usagcp
en un archivo de alias, a la copia le faltará información crítica y no funcionará.DQdlM
gordon davisson
gcp -R
lo copiaré junto con todo lo demás). Si quiere decir._somefilename
, es un archivo AppleDouble usado para almacenar metadatos (la información de la que estoy hablando) en algunos tipos de volúmenes extranjeros, lo cual es... complicado...DQdlM
Thorbjorn Ravn Andersen