在 bash 中处理列

在 bash 中处理列

我想用不同的字符替换偶数列中的字符,如下所示(带空格):

hello

出去:

h l o

我怎样才能做到这一点?

答案1

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

编辑:我注意到,除非我使用代码样式,否则斜线会被隐藏。已修复。

答案2

这将做到这一点:

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

awk 依次处理每一行,for 循环处理每个其他字符并打印出来,后面跟着一个空格

答案3

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

我可能缺少括号内的反斜杠。

答案4

使用扩展正则表达式选项sed

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

相关内容