处理后应该像
I need to go london, after i reach the; Uk.
But i need five hours? To reach it.
但我明白了:
I need to go london, after i reach the; Uk.
.
.
.
But i need five hours? To reach it.
它有效,但它在第一行添加了一个点,但我需要在没有点的段落末尾添加点。另外,如果我有多个空白行,或者段落之间没有空行,我需要确保段落之间只有一个空行。
我如何处理这些问题?
答案 0 :(得分:3)
您可以使用awk
删除段落之间的空白行:
awk '{gsub(/\n\n+/,"\n\n");printf $0}' RS="^$" file
并且为了避免行开头的点,您可以将上一个sed命令更改为:
/\(^$\)\|\([!?;.,]\s*$\)/! s/\s*$/.&/
答案 1 :(得分:0)
您可以使用awk
awk '{if(NR == 1) print $0"\n"; else if($1 != ".") print $0}' file
您也可以从文件中read
并使用echo -e
将行间隔加倍:
n=0
while read f _ ; do
((n++))
if [[ $f != . ]]; then
if [ $n -eq 1 ]; then
echo "$f\n"
else
echo -e "\n$f"
fi
fi
done < file