我有一个相当大的文本文件,每个字符之间都有一个额外的空格;
I t l o o k s l i k e t h i s .
我想删除那些额外的字符,所以
It looks like this.
通过Linux终端。 在没有删除所有空格的情况下,我似乎无法找到这样做。我愿意在这一点上尝试任何解决方案。我很欣赏任何朝着正确方向的推动。
答案 0 :(得分:4)
$ echo 'I t l o o k s l i k e t h i s . ' | sed 's/\(.\) /\1/g'
It looks like this.
答案 1 :(得分:3)
您确定中间字符是空格吗?这很可能是UTF-16文件。
我建议您使用功能强大的编辑器将其打开并将其转换为UTF-8。
答案 2 :(得分:3)
awk
解决方案
echo "I t l o o k s l i k e t h i s ." | awk '{for (i=1;i<=NF;i+=2) printf $i;print ""}' FS=""
It looks like this.
答案 3 :(得分:1)
只要你想摆脱其他所有角色,就可以使用python。
>>> s = "I t l o o k s l i k e t h i s ."
>>> print s[0::2]
It looks like this.
如果要对文本文件执行此操作,请执行以下操作:
with open("/path/to/file.txt") as f:
f = f.readlines()
with open("/path/to/new.txt") as g:
for i in f:
g.write(str(i)[0::2]+"\n")
答案 4 :(得分:1)
perl -pe 's|(\s+)| " "x (length($1)>1) |ge' file