¿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!

  • ¿Es posible eliminar la carpeta "Compartida" en Usuarios?
  • Evitar el cambio de la aplicación pnetworkingeterminada para algunas extensiones de file
  • ¿Por qué una línea de command cambia a ~ / Library / Preferences / com.apple.LaunchServices.plist no entra en vigencia inmediatamente?
  • Montaje de files cue / bin
  • ¿Cómo agrego una bandera a un alias?
  • Establecer la variable Bash como icono en osascript -e Mostrar cuadro de dialog con icono
  • 4 hd en mi MacBook Pro
  • ¿Puedo usar El Capitán en una MacBook que se envía con Sierra?
  • ¿Cómo puedo desactivar este recorte de window mutli-monitor en Mavericks?
  • ¿Cómo puedo crear un nuevo tema de image (o personalizar uno existente)?
  • App Expose, muestra el nombre del proyecto XCode
  • ¿Cómo puedo ignorar una actualización en App Store?
  • 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).