Tengo un archivo .txt guardado en mi computadora. Esta es la ubicación del archivo:
/Usuarios/Yo/Escritorio/Mis documentos/Mi Fruit Log.txt
Quiero que mi aplicación Automator basada en AppleScript elimine una línea específica del archivo .txt.
El contenido del archivo .txt se ve así:
Así que si:
set lineNumberToErase to 8
El archivo .txt resultante debe ser:
Observe cómo no solo se elimina el texto de esa línea, sino que también desaparece toda la línea.
Puntos de bonificación si la solución incluye algún tipo de mecanismo para garantizar que no se elimine más de 1 línea del archivo. Mi temor al automatizar eliminaciones como esta es que el script de alguna manera borre todo el archivo (basado en que yo cometí un pequeño error en alguna parte).
Aquí hay una solución de comandodo shell script
de AppleScript que se usa para eliminar la línea de destino del archivo de destino, en el lugar.sed
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 realizar una copia de seguridad del archivo de destino, cambie la sed
opción -i ''
a -i '.bak'
, por ejemplo:
do shell script "sed -i '.bak' -e '" & lineNumberToErase & "d' " & quoted form of targetFile
esfera de rubik