0

我可以在 python 中执行以下操作来清理和去除不需要的空格,但是可以通过终端通过其他方式完成sedgrep

outfile = open('textstripped.txt','w+','utf8')
for i in open('textfile.txt','r','utf8'):
  print>>outfile, i.strip()
4

4 回答 4

2

perl在命令行上使用:

perl -lpe 's/^\s+//; s/\s+$//' file.txt > stripped.txt

于 2013-03-11T04:08:12.360 回答
2

此解决方案基于 sed 手册页:

sed 'y/\t/ /;s/^ *//;s/ *$//' input > output

http://www.gnu.org/software/sed/manual/sed.html#Centering-lines

描述:

y\t/ /用空格替换制表符

s/^ *//删除前导空格

s/ *$//删除尾随空格

于 2013-03-11T04:20:19.467 回答
1
$ cat input.txt | sed 's/^[ \t]*//;s/[ \t]*$//' > output.txt

这摆脱了前导和尾随空格..

编辑:sed -e "s/^[ \t]+//; s/[ \t]+$//" -i .bk input.txt

这会进行文件编辑,并将备份保存到 input.txt.bk (并按照一些建议保存一个过程)

于 2013-03-11T03:58:13.533 回答
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

于 2013-03-11T04:02:39.783 回答