使用Perl删除单词断字
我有以下案文: 玛丽住在一个大房子里- 几乎是最漂亮的- 这是一座美丽的山- 尝试 如何将其转换为:使用Perl删除单词断字,perl,hyphenation,Perl,Hyphenation,我有以下案文: 玛丽住在一个大房子里- 几乎是最漂亮的- 这是一座美丽的山- 尝试 如何将其转换为: 玛丽住在一个大城市,靠近这个国家最美丽的山脉。 使用perl使用perl一行程序: perl -pe 's/-\n//' file 开关: -i:就地编辑文件(如果提供扩展名,则进行备份) -p:为输入文件中的每一行创建while(){…;print}循环 -e:告诉perl在命令行上执行代码 有时您可能需要考虑CRLF,尤其是在使用较小的操作系统时(呵呵)。我尽量使东西便于携带 s/-
玛丽住在一个大城市,靠近这个国家最美丽的山脉。
使用perl使用perl一行程序:
perl -pe 's/-\n//' file
开关:
:就地编辑-i
文件(如果提供扩展名,则进行备份)
:为输入文件中的每一行创建-p
循环李>while(){…;print}
:告诉-e
在命令行上执行代码李>perl
s/-[\r\n]+//g
我把“+”放在那里,以防在连字符和文本的其余部分之间有一个额外的空行。如果文本包含应该连字符的单词,您想怎么做?e、 g.“众所周知”或“诱杀装置”?你想把它限制在endofline的例子中。@tadman是什么阻止了我的一个例子出现在一行的末尾?这是无法自动完美完成的事情之一,但你可以通过自动化非常接近,并手动修复异常。@tadman当然,在这个简单的示例中,您可以手动修复异常,但对于长文档来说,这是不可行的。当然没有办法做到完美,但我有兴趣看到一个比
s/-\n/
更智能的解决方案;我想它可能对未来的访问者有用。-I
也很棒,可以就地修改。只需确保在意外地将文件丢弃之前备份好文件。为-i
添加了文档。