¿Cómo cambio programáticamente la configuration "Ocultar extensión" para get una list de files?

Por alguna razón, cuando hago una operación bash en una list de files (es decir, ls | cat -n | while read nf; do mv "$f" `printf "name-%02d.png" $n`; done , el La configuration "Ocultar extensión" se habilita en todos ellos, y debo desactivarla manualmente mediante "Obtener información". ¿Cómo puedo evitar esto o corregirlo mediante progtwigción?

EDITAR: Los files en los que estaba operando eran capturas de pantalla nativas y, por lo tanto, ya tenían ocultas sus extensiones. ¡Mi error!

  • vi accesos directos en bash en Mac no funciona, por ejemplo, CTRL + E, CTRL + A
  • Por qué preview.app se niega a abrir el enlace local en PDF
  • ¿Cómo instalo Flash en la count de invitado solamente?
  • ¿Cómo puedo get 256 colors en el terminal pnetworkingeterminado sobre SSH?
  • Ver caching de miniaturas en OS X
  • ¿Cómo obtengo la Búsqueda de Terminal con Google para abrir en el browser pnetworkingeterminado?
  • Después de iniciar session en OSX, todo lo que veo es una pantalla negra
  • Cómo cambiar la function de la tecla fn?
  • One Solution collect form web for “¿Cómo cambio programáticamente la configuration "Ocultar extensión" para get una list de files?”

    Hmmm, eso suena realmente extraño. Acabo de ejecutar su código de muestra en algunos files de testing y no alteró en absoluto el indicador Ocultar extensión . ¿Estás seguro de que los files no tenían esa opción marcada antes de ejecutar tu command? ¿Has intentado crear algunos files nuevos, verificando manualmente que ninguno tiene esa opción seleccionada y luego ejecutar tu command en ellos?

    No puedo evitar la parte de "cómo evitar esto" de su pregunta, ya que no logro volver a crear su problema. Pero puede desactivar esa configuration mediante progtwigción. Si tiene Xcode instalado, puede hacer lo siguiente:

     # Disables "Hide extension" for all visible files in current directory for file in *; do SetFile -ae "$file" done 

    Tenga en count que si alguna vez desea revertir el process (es decir, activar la configuration), puede hacerlo cambiando la letra minúscula e por una E mayúscula.

     # Enables "Hide extension" for all visible files in current directory for file in *; do SetFile -a E "$file" done 

    Si no tiene Xcode instalado, consulte esta respuesta en superusuario para get instrucciones sobre cómo hacer lo mismo con AppleScript.

    Por cierto, deberías tratar de evitar analizar la salida de ls como lo hiciste en tu ejemplo. Puede causar problemas si alguno de los files que está procesando contiene un carácter de nueva línea en su nombre de file. Esto es particularmente importante si alguna vez escribe un script que procesará files que no haya creado usted mismo (ya que no sabrá cómo se nombran). Consulte Por qué no debe analizar el resultado de ls (1) para get más información.

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