gpt4 book ai didi

perl - 在文件中的文本段落中删除\n

转载 作者:行者123 更新时间:2023-12-02 08:37:49 25 4
gpt4 key购买 nike

假设我有一个包含多个段落的文件,类似于

Lorem ipsum dolor sit amet. Velit et ornare feugiat ve fringilla adipiscing, non
augue risus, eleifend. Laoreet a, taciti porttitor mus. Erat leo metus
venenatis. Natoque eni, nunc quis elit est. Nec enim dui. Sem parturient lectus,
sed, egestas. Amet nascetur quisque, nonummy amet ut odio proin hymenaeos sit,
consequat proin hymenaeos vestibulum. Duis ad penatibus natoque, fames nec amet
eni inceptos. Ligula orci scelerisque laoreet, massa leo dictumst feugiat
praesent varius netus suspendisse. Et et quis volutpat quam, aenean sit, magnis
integer ad luctus hendrerit per. Lectus adipiscing nascetur quisque consectetuer
feugiat etiam eros. Natoque massa. Semper ut nam tortor. Odio ut nullam mus,
sociis at, luctus aliquet at odio habitant fames.

Penatibus ipsum lacus blandit ad dis ante dolor. Cursus porta penatibus
facilisi. Nisl erat rutrum primis dis elit dolor penatibus pretium duis
sollicitudin ut. Sed urna leo massa cubilia eget, elementum mus. Ve metus ac
vitae at litora tincidunt id, ac hac. Dis justo nullam. Fames sollicitudin,
augue ve at. Tristique. Primis convallis praesent, eget. Nullam, penatibus ut,
proin non mus id nascetur dis, lorem arcu. Magna urna nascetur ornare, nunc
proin quisque cum, pharetra. Quisque, litora eu lobortis diam eros. Vel mi
hymenaeos ipsum in. Ligula curabitur ve, magnis hymenaeos euismod.

该文件是通过处理 Markdown 文件生成的,如您所见,该文件在大约 80 个字符处有断行。使用 Perl 或 sed 或 awk(我正在运行 Linux,因此可以使用任何解决方案,但我不是 Python 或 Ruby 用户),如何撤消 段落中的换行?

我知道如何从整个文件中删除 \n ,但这会将显示的两个段落合并为一个完整的行。我不想要那个。我只想一次操作一个段落,所以任何解决方案都应该跳过 \n 是唯一内容的行。

我的文件使用 Unix/Linux 文件结尾,即换行符,因此只有 \n 存在。 我确实需要保留段落之间的空格。

最佳答案

换行符/换行符替换为空格字符,

perl -00 -lpe 's|\r?\n| |g' file

这里是开关的简要说明,以及解析的源代码


perl -MO=Deparse -00 -lpe 's|\r?\n| |g' file
BEGIN { $/ = ""; $\ = "\n\n"; } # see below
LINE: while (defined($_ = <ARGV>)) { # -p switch
chomp $_; # also -l switch
s/\r?\n/ /g;
}
continue {
print $_; # -p switch
}
  • -00 => $/= ""; # 输入记录分隔符设置为段落模式
  • -l => $\= "\n\n"; # 输出记录分隔符设置为 $/

关于perl - 在文件中的文本段落中删除\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19499508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com