Tengo un archivo como el siguiente:
1234
ABCD
EFGH
Me gustaría convertirlo a lo siguiente:
2341
BCDA
FGHE
El archivo real tiene 4.000 palabras, por lo que me gustaría hacer esto de manera eficiente. Intenté usar el comando cut -c 2-4,1 file.txt
, pero produce el mismo resultado exacto que la entrada. Estaba pensando que podría usar 3 comandos diferentes:
cut -c 1 file.txt > temp1.txt
cut -c 2-4 file.txt > temp2.txt
// combine the two with paste or pr
... pero preferiría un solo comando porque necesito ejecutarlo varias veces con ligeras modificaciones, por lo que ejecutar un comando es menos propenso a errores que ejecutar 3 comandos cada vez.
¿Hay alguna forma de combinar las 2 declaraciones de corte en una? Algo como:
cut -c 1 file.txt | pr (cut -c 2-4 file.txt)
¿O hay una mejor manera de hacer esto?
text-processing
cut
Sensato
fuente
fuente
-d ''
lugar de--delimiters=''
reutilizar caracteres de LIST en lugar deSi usa bash, use la indexación de cadena de expansión de parámetros :
fuente
Puede cambiar el separador mediante "-F" de acuerdo con sus datos y organizar el orden de los campos de forma arbitraria.
fuente
Aquí hay una manera con
perl
:División automática en los límites de las letras, gire una hacia la izquierda e imprima.
fuente
Encontré una alternativa en forma de script:
El script corta las cadenas en archivos separados. Luego únete a un nuevo archivo (file4.txt) y finalmente elimina los archivos de repuesto.
La solución llua es más limpia para mi gusto.
fuente
¿Has probado rev?
~$ cat filename | rev
fuente