我可以在python中执行以下操作来清理和删除不需要的空格,但可以通过终端通过其他方式完成,例如sed
,grep
或其他吗?
outfile = open('textstripped.txt','w+','utf8')
for i in open('textfile.txt','r','utf8'):
print>>outfile, i.strip()
答案 0 :(得分:2)
在命令行上使用perl
:
perl -lpe 's/^\s+//; s/\s+$//' file.txt > stripped.txt
答案 1 :(得分:2)
此解决方案基于sed手册页:
sed 'y/\t/ /;s/^ *//;s/ *$//' input > output
http://www.gnu.org/software/sed/manual/sed.html#Centering-lines
说明
y\t/ /
用空格替换制表符
s/^ *//
删除了前导空格
s/ *$//
删除尾随空格
答案 2 :(得分:1)
$ cat input.txt | sed 's/^[ \t]*//;s/[ \t]*$//' > output.txt
这摆脱了前导和尾随空格..
编辑:sed -e "s/^[ \t]+//; s/[ \t]+$//" -i .bk input.txt
这样就可以进行文件编辑,并将备份保存到input.txt.bk(并根据建议保存进程)
答案 3 :(得分:1)
sed -E "s/(^[ \t]+|[ \t]+$)//" < input > output
或者如果您有符合GNU标准的SED版本:
sed -E "s/^\s+|\s+$//g" < in > out
如果您有Mac,我建议您获取homebrew
并安装gnu-sed
。
然后,alias sed=gsed
。