2

Я хотел бы заменить символы в четных столбцах другим символом, например так (с пробелом):

В:

hello

Из:

h l o

Как я могу это сделать?

4 ответа4

1

Это сделает это:

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

awk обрабатывает каждую строку по очереди, цикл for обрабатывает каждый второй символ и печатает его, а затем пробел

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

РЕДАКТИРОВАТЬ: я заметил, что косые черты скрыты, если я не использовал стиль кода. Исправлена.

1
sed 's/(.)./\1 /g'

Я могу пропустить обратную косую черту в скобках.

1

Используйте расширенную опцию регулярных выражений в sed:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .