我有一个文本文件,我必须在每个字符后引入单个空格。我正在使用的命令是:
sed 's/./& /g' source.txt>output.txt
但我没有得到输出,输出与输入保持一致。 请帮我解决这个问题。这个命令是否正确?
外部编辑:根据下面的评论,输入文字为:'pustə_pɾemínù_kədéví_kɪse_pyaːɾemɪ'
及其相应的输出是:pustə_pɾemínù_kədéví_kɪse_pyaːɾemɪ
不是在每个字符后引入单个空格,而是用双倍空格替换单个空格(已经在输入中)。
答案 0 :(得分:1)
你的sed命令对我有用,但字符的重音符号会从字符中移出。
这是一个较长的sed命令,你可以尝试,它也适用于我。
sed 's/\(.\)/\1 /g'
答案 1 :(得分:0)
如果'sed'不起作用,这是'awk'选项
awk 'BEGIN{FS=OFS=""}{for (i=1;i<=NF;i++) {$i=$i " "}}1' source.txt > output.txt
编辑:如果你使用的是Mac OSX,'sed'来自BSD而不是GNU。您可以阅读here说明如何添加单个空格,然后进行修改以满足您的需求。
答案 2 :(得分:0)
您的sed
命令是正确的,因此在我看来您正在运行某些区域设置问题。
在提示符下键入以下内容并重新运行命令:
LANG="en_US.UTF-8"