how to change specific row for all file inside a folder?

1 visualización (últimos 30 días)
adhi dermawan
adhi dermawan el 19 de Dic. de 2022
Comentada: adhi dermawan el 20 de Dic. de 2022
Greeting sir, I have multiple text file inside a folder which has 18 rows in each file. I wanted to delete the last row of all file inside the folder. How can I do it?
  1 comentario
Rik
Rik el 19 de Dic. de 2022
What have you tried? Do you have a list of file names stored in a variable?

Iniciar sesión para comentar.

Respuesta aceptada

Jan
Jan el 19 de Dic. de 2022
Editada: Jan el 19 de Dic. de 2022
Two steps:
  1. Implement the code to process 1 file. The easies way is to import the file using readlines, remove the last line and to export it by writelines afterwards.
  2. Run the above code in a loop. See FAQ: How can I process a sequence of files?
If you have a large number of huge files, maybe this can help to improve the speed: FEX: FileResize . Then determine the start of the last line:
file = 'YourFile.txt';
[fid, msg] = fopen(file, 'r'); % Not in 't' mode!!!
assert(fid > 0, msg); % No FOPEN without checking for success!!!
s = '';
while ischar(s)
c = ftell(fid); % Get current position
s = fgets(fid); % Read next line
end
fclose(fid);
FileResize(file, c, 'set');
Of course: Create a backup of the data set before testing.

Más respuestas (0)

Categorías

Más información sobre Get Started with MATLAB en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by