shell - tipos - tabulaciones en word 2016
¿Cómo reemplazar las nuevas líneas con los tabuladores? (5)
Aquí tr
es mejor, creo:
tr "/n" "/t" < newlines
Como sugirió Nifle en un comentario, las newlines
aquí son el nombre del archivo que contiene el texto original.
Como sed
está tan orientado a la línea, es más complicado de usar en un caso como este.
Tengo un patrón como a continuación
hi
hello
hallo
greetings
salutations
no more hello for you
Estoy tratando de reemplazar todas las nuevas líneas con la pestaña usando el siguiente comando
sed -e "s_//n_//t_g"
pero no está funcionando.
¿Alguien podría ayudar? Estoy buscando una solución en sed / awk.
No puede reemplazar líneas nuevas línea por línea con sed
. Debe acumular líneas y reemplazar las nuevas líneas entre ellas.
text abc/n <- can''t replace this one
text abc/ntext def/n <- you can replace the one after "abc" but not the one at the end
Este script sed
acumula todas las líneas y elimina todas las líneas nuevas, pero la última:
sed -n ''1{x;d};${H;x;s//n//t/g;p};{H}''
Por cierto, su script sed -e "s_//n_//t_g"
está tratando de decir "reemplazar todas las barras seguidas de líneas nuevas con barras seguidas de pestañas". Los guiones bajos están asumiendo el papel de delimitadores para el comando s
modo que las barras oblicuas se pueden usar más fácilmente como caracteres para buscar y reemplazar.
no estoy seguro del resultado que desea
# awk -vRS="/n" -vORS="/t" ''1'' file
hi hello hallo greetings salutations no more hello for you
sed ''$!{:a;N;s//n//t/;ta}'' file
paste -s
-s Concatenan todas las líneas de cada archivo de entrada por orden de línea de comando. El carácter de nueva línea de cada línea, excepto la última línea de cada archivo de entrada, se reemplaza con el carácter de tabulación, a menos que se especifique lo contrario con la opción -d.