如何使用shell将文件中单词首字母转换为大写
今天在CU看到一个帖子,其中有这个问题很值得启发思考与学习。如何使用shell将文件中单词首字母转换为大写?
这个问题看似简单,实现起来确不易,即使是在vi甚至是wordpad条件下也很困难。还好我们有伟大的sed和awk。
先来分析问题,将文件中的每个单词的首字母转换为大写,这里有两个难点。
1. 如何区分单词的边界?
2. 大小写转换如何实现?
对于单词边界的区分,一般英文习惯下我们输入单词前面都是空格或换行符号;大小写转换在awk中有函数toupper()。先尝试使用awk解决。
[*]# cat test
[*]consult section 3.1 in the Owner
[*]andoperator guide for a description of the tape drives
[*]available on your system.
[*]# awk '{for (i=1;i
页:
[1]