1 votos

comando cp: Sobrescribir la confirmación con el archivo diff

Cuando se ejecuta cp para copiar archivos, me gustaría que se me pidiera una confirmación de sobrescritura y, si es posible, ver el diff del archivo confirmando.

¿Es esto posible? Y si es así, ¿cómo?

Un ejemplo ideal:

$ cp file1.txt file2.txt
0a1,2
> 1.
> 
2a5,6
> 2.
> 
4a9,10
> 3.
> 
Overwrite file2.txt? [Yes/No/Keep both] (default Y):

2voto

Kerry Puntos 100

Colocando los comandos de alias en su perfil de bash obtendrá una protección de sobrescritura parcial. Como otros mencionaron en sus comentarios, necesitará escribir un script que añada la función diff.

He colocado los siguientes comandos en mi ~/.bash_profile .

Bash en MacOS determina qué archivo es su perfil bash en este orden:

  1. ~/.bash_profile

  2. ~/.bash_login

  3. ~/.profile

Estos comandos indican a cp, mv y rm que le avisen cuando un archivo vaya a ser sobrescrito o eliminado:

alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'
# Placing a blank after sudo causes alias substitution 
# for sudo's inner commands . See Gordon Davisson's comments below for 
# details. 
alias sudo='sudo '

Este ejemplo, asume que has colocado los comandos anteriores en tu perfil de bash.

mac $ touch a
mac $ touch aa
mac $ cp aa a
overwrite a? (y/n [n]) n
not overwritten
mac RC=1

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X