Utilice el programa inexpand (1)
UNEXPAND(1) User Commands UNEXPAND(1)
NAME
unexpand - convert spaces to tabs
SYNOPSIS
unexpand [OPTION]... [FILE]...
DESCRIPTION
Convert blanks in each FILE to tabs, writing to standard output. With
no FILE, or when FILE is -, read standard input.
Mandatory arguments to long options are mandatory for short options
too.
-a, --all
convert all blanks, instead of just initial blanks
--first-only
convert only leading sequences of blanks (overrides -a)
-t, --tabs=N
have tabs N characters apart instead of 8 (enables -a)
-t, --tabs=LIST
use comma separated LIST of tab positions (enables -a)
--help display this help and exit
--version
output version information and exit
. . .
STANDARDS
The expand and unexpand utilities conform to IEEE Std 1003.1-2001
(``POSIX.1'').
tr
osed
.Creo que puedes intentarlo con awk
o SED si lo prefiere
o incluso tr
o una versión simplificada de la solución tr sugerida por Sam Bisbee
fuente
tr ' ' \\t < someFile > someFile
ls -l | sed "s/ \+/ /g"
awk -v OFS="\t" '$1=$1' file1
Noté que si tiene una línea que comienza con el número 0 (por ejemplo0 1 2
), la línea se omitirá del resultado.Usando Perl :
fuente
perl -p -i -e 's/\t/ /g' *.java
mejor comando tr :
Esto limpiará la salida de, digamos, unzip -l , para su posterior procesamiento con grep, cut, etc.
p.ej,
fuente
tr [:blank:] \\t
Descargue y ejecute el siguiente script para convertir de forma recursiva pestañas blandas en pestañas duras en archivos de texto sin formato.
Coloque y ejecute el script desde dentro de la carpeta que contiene los archivos de texto sin formato.
fuente
Comando de ejemplo para convertir cada archivo .js en el directorio actual a pestañas (solo se convierten los espacios iniciales):
fuente
También puede utilizar
astyle
. Lo encontré bastante útil y también tiene varias opciones:fuente
Si está hablando de reemplazar todos los espacios consecutivos en una línea con una tabulación, entonces
tr -s '[:blank:]' '\t'
.Si está hablando de reemplazar todos los espacios en blanco (por ejemplo, espacio, tabulación, nueva línea, etc.), entonces
tr -s '[:space:]'
.Si está hablando de reparar un archivo con pestañas dañadas, use
expand
yunexpand
como se menciona en otras respuestas.fuente
Usando sed :
o
fuente
Esto reemplazará los espacios consecutivos con un espacio (pero no tabulación).
Esto reemplazará los espacios consecutivos con una pestaña.
fuente
-c
reemplaza los caracteres consecutivos que no son espacios.