2 votos

¿Cómo puedo eliminar una línea específica de una .archivo txt en AppleScript?

Tengo un .txt archivo guardado en mi ordenador. Esta es la ubicación de los archivos:

/Usuarios/Me/Desktop/Mis Documentos/Mi Fruta Log.txt

Quiero que mi AppleScript Automator aplicación para eliminar una línea específica de la .archivo txt.

El contenido de el .archivo txt se parece a esto:

CVTIt.png

Por lo tanto, si:

set lineNumberToErase to 8

La resultante .txt archivo debe ser:

1W6wS.png

Observe cómo no sólo el texto en que se quita la línea, pero la totalidad de la línea se ha ido así.

Los puntos de bonificación si la solución incluye algún tipo de mecanismo para asegurarse de que no más de 1 línea se elimina del archivo. Mi miedo al automatizar las eliminaciones como este es que el guión de alguna manera, se borra el archivo completo (basado en mí haciendo un pequeño error en alguna parte).

1voto

user3439894 Puntos 5883

He aquí un do shell script de AppleScript de comandos utilizando la solución sed a eliminar la línea de destino del archivo de destino, en el lugar.

set targetFile to "/Users/Me/Desktop/My Documents/My Fruit Log.txt"
set lineNumberToErase to 8

do shell script "sed -i '' -e '" & lineNumberToErase & "d' " & quoted form of targetFile

Si desea una copia de seguridad del archivo de destino de hecho, el cambio de la sed opción -i '' a -i '.bak', por ejemplo:

do shell script "sed -i '.bak' -e '" & lineNumberToErase & "d' " & quoted form of targetFile

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