如何才能将文件中的每个字符(换行符除外)都翻倍?

如何才能将文件中的每个字符(换行符除外)都翻倍?

如何将文件中除换行符之外的每个字符都复制两遍?它应该看起来像这样:

之前的文件内容:

echo hello world

之后的文件内容:

eecchhoo  hheelllloo  wwoorrlldd

答案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

相关内容