
printf "%s\t" HEMES n{1..1600} >file_a
sed -i 's/\t*$//' file_a > file_a
elimina una pestaña que se encuentra al final de la línea después de la primera línea del código (donde se imprime el material).
Mi problema ahora es que necesitaría eliminar la pestaña detrás de esa línea (comenzando con HEMES) en un archivo más grande que tiene más líneas. Si pruebo la línea sed, no funciona. La línea de la que quiero eliminar el carácter es siempre la primera línea del archivo.
Respuesta1
En lugar de hacer todo en una línea y enviarlo a un archivo, sepárelo en dos partes: genere la cadena HEMES y luego agregue la secuencia n{1...1600}: printf "%s" HEMES > file_a; printf "%s\t" n{1..1600} >> file_a
.
Si necesita eliminar específicamente esa pestaña entre HEMES y n1 en un archivo ya existente, aquí tiene una awk
solución:
awk ' {sub(/[[:blank:]]/,""); print} ' file_a > tmp_file && cat tmp_file > file_a
.
Lo que esto hace es tomar la subfunción, que elimina elprimeroaparición de la pestaña, enviamos ese texto a un archivo temporal y luego llevamos ese contenido de regreso a file_a. La razón para cambiar entre archivos es la siguiente: a menos que esté usando la versión awk que permite la edición en línea (creo que gnu awk), esto funcionará en cualquier caso: awk, mawk, nawk, etc.