Как мне удвоить каждый символ в файле, кроме новых строк?

Η как я могу удвоить каждый символ в файле, кроме символов новой строки? Это должно выглядеть примерно так:

Содержимое файла до:

echo hello world

Содержимое файла после:

eecchhoo  hheelllloo  wwoorrlldd
3
задан 8 November 2020 в 16:37

1 ответ

С sed:

sed 's/./&&/g' yourfile

Исх.

$ echo 'echo hello world' | sed 's/./&&/g'
eecchhoo  hheelllloo  wwoorrlldd

В качестве альтернативы, с оператором умножения строк в Perl:

$ echo 'echo hello world' | perl -lne 'print map { $_ x 2 } split //'
eecchhoo  hheelllloo  wwoorrlldd

Конкатенация строк в awk, конечно, возможна, но, насколько мне известно, не без явного цикла по символам:

$ echo 'echo hello world' | awk 'BEGIN{OFS=FS=""} {for(i=1;i<=NF;i++) $i = $i $i}1'
eecchhoo  hheelllloo  wwoorrlldd
5
ответ дан 8 November 2020 в 12:03

Другие вопросы по тегам:

Похожие вопросы: