如何将文件的每个句子中的第一个字母大写并将其他大写字母转换为小写(如果有)并将修改后的文本重写为相同的输入文件?
输入文件:
tHiS是最重要的.IT用于指定sCript.whICh是useD 为小型企业提供融资服务。
答案 0 :(得分:1)
使用sed
:
$ sed -r 's/(.*)/\L\1/;s/((^|\.)\s*.)/\U\1/g' file
This is the test file.It is used for testing a script.Which is used for converting capital letters to small letters.
# Save changes to file
$ sed -ri 's/(.*)/\L\1/;s/((^|\.)\s*.)/\U\1/g' file
答案 1 :(得分:0)
您可以在Perl中使用tr subroutine:
$ cat original-file.txt | perl -ne 'tr/A-Za-z/a-zA-Z/; print;' \
> new-file-with-toggled-case.txt
$ mv new-file-with-toggled-case.txt original-file.txt
答案 2 :(得分:0)
这样的东西?
awk '{sub($0,tolower($0)); sub(/./, toupper(substr($0,1,1)))}1' RS=. ORS=. file
输出:
This is the test file.It is used for testing a script.Which is used for converting capital letters to small letters.
这适用于以。结尾的句子,但不适用于感叹号,问号等。
答案 3 :(得分:0)