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