我正在解析长文本,并且先前命令的部分副产品是: 1)行只有一个空白 2)行中有一个空格,后跟一个句子。
我如何摆脱它们?
我尝试了以下方法:
tr -s [:space:] |sed -r 's/\^ /\^/g' > output.txt
及以下
tr -s [:space:] |sed -r 's/\n //g' > output.txt
及以下
sed 's/\([.!?]\)[[:space:]]*/\1\n/g' file > output.txt
没有成功。
样本输入(下划线表示空格,以便于视觉理解)
_Sir_William_Blackstone,
_
_Commentaries_on_the
样本输出
Sir_William_Blackstone,
Commentaries_on_the
答案 0 :(得分:1)
我会使用sed
。
sed -E '/^\s*$/d; s/^\s*//;' < in > out
这将删除仅包含空格的行,并去除其他行开头的空格。
c.f。 https://www.gnu.org/software/sed/manual/sed.html
有一些改进,但这是总体思路。