Processar colunas no bash

2

Eu gostaria de substituir os caracteres em colunas pares por um caracter diferente, como este (com espaço):

Em :

hello

Fora:

h l o

Como posso fazer isso?

    
por B. Marek 03.11.2011 / 01:06

4 respostas

1
cat readme.txt | sed -e "s/\(.\)./ /g"

EDIT: Eu notei que as barras estão escondidas, a menos que eu usei o estilo de código. Corrigido.

    
por 03.11.2011 / 03:22
1

Isso fará isso:

awk '{for(i=1;i<=length;i+=2) printf("%c ", substr($0, i, 1)); printf "\n"}' <filename>

o awk processa cada linha por sua vez, o loop for processa todos os outros caracteres e os imprime seguidos por um espaço

    
por 03.11.2011 / 01:38
1
sed 's/(.)./ /g'

Eu posso estar faltando barras invertidas para os parênteses.

    
por 03.11.2011 / 03:23
1

Use a opção regex estendida em sed :

sed -r 's;(.).; ;g' input-file

    
por 03.11.2011 / 07:51

Tags