作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这个问题有点开玩笑,但我也很好奇正确和最干净的方法来做到这一点。
背景:Kurt Vonnegut 说分号是毫无值(value)的标点符号。他们所做的只是表明你上过大学。
无论如何,我知道如果我有一个文本(例如“test.txt”)文件,其中包含一堆毫无值(value)的分号分隔“密切相关”的句子,我可以查找并替换为:
sed 's/;/./g' <test.txt >better.txt
这将用句点替换所有那些讨厌的分号。但是,现在我遇到的问题是所有新句点后面都没有第一个字母大写的单词(因为分号后的单词没有大写)。
有没有办法(希望通过 sed)自动用句点替换文本文件中的所有分号,并自动将新插入句点后单词的首字母大写?
谢谢,高音
最佳答案
简答。是的,一点没错。
这是使用 GNU sed
的一种方法:
$ echo "hello;world;i;am;here" | sed 's/;\(.\)/.\U\1/g'
hello.World.I.Am.Here
对于分号后跟空格的标准散文情况:
$ echo " Hello; world; blah" | sed 's/; *\(.\)/. \U\1/g'
Hello. World. Blah
关于regex - 冯内古蒂命令 : Replace semicolons with periods *correctly*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25921403/
我是一名优秀的程序员,十分优秀!