首页 > Linux考试认证

利用tr命令轻松实现大小写转换

时间:2009-06-24 04:49:35  作者:  我要投稿
Linux初探欢迎您的投稿,投放方法请点击这里查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
系统工程师有时候在系统维护的时候,需要将某个文件中的内容进行大小写的转换。如系统工程师从网上下载了一个脚本文件。但是脚本文件的主人有个怪癖,对于一些备注的......
  系统工程师有时候在系统维护的时候,需要将某个文件中的内容进行大小写的转换。如系统工程师从网上下载了一个脚本文件。但是脚本文件的主人有个怪癖,对于一些备注的内容希望采用大写字母来描述。这可能跟某些工程师的阅读习惯不一致。为此需要将这些大写字符转换写小写字母。当然,系统工程师可以手工的一个个进行修改。但是,显然操作起来很麻烦。为此系统工程师就会想,在Unix操作系统中是否提供了类似的工具,可以将大写字符转换为小写字母呢?确实,在Unix操作系统中提供了一个tr命令。这是一个强盗的字符转换命令,可以实现包括字符大小写转换在内地很多功能。
  一、tr字符变换命令的基本格式格式要求。
  在Unix操作系统中,针对整行的内容或者字段的命令有很多。相比之下,对一行中的字符进行操作的命令却比较少。这并不是说对字符操作不重要。而是因为tr这个字符变换命令就可以实现大部分字符处理的功能。这个命令的主要功能就是对字符串进行替换。如下图所示,笔者就是使用tr命令,先将一个文件中的字母a全部使用字母c来代替。然后第二个例子就是想文件中的小写字符全部转
  这个命令的基本格式为tr 可选项 参数1 参数2 标准输入
  这个命令的可选项虽然不是很多,但是都比较使用。通常搭配不同的可选项,可以实现不同的功能。另外在这个命令中,有一个比较特殊的部分,即标准输出。这是什么意思呢?而且在这个命令中没有文件名这个参数。那么如果将一个文件中的内容转换为英文字符呢?原来,这个命令只接受标准输入,而不接受文件名作为参数。为此如果要将某个文件中的内容进行大小写转换时,就需要按照上面的格式,先将文件中的内容读取出来,然后再利用管道符等工具将读取出来的内容传递给命令tr。然后再利用这个tr命令进行大小写转换或者进行简单的字符替换。在使用标准输入的时候,系统工程师即可以将标准输入放在这个命令的尾部。也可以使用管道符将标准输入放在命令的开头。笔者比较喜欢的是将标准输入放在命令开头。这两个方式都可以,没有什么差异。主要是看系统工程师的习惯而定。
  二、实现大小写转换。
  笔者上面提到的第二个案例就是将文件text.txt中内容进行大小写转换。将文件中所有小写字符转换成大写。笔者采用的命令是head –n -2 text.txt | tr ‘[a-z]’ ‘[A-Z]’。由于这个命令不支持文件名作为其参数,而支持标准输入。为此笔者就用head命令读取文件的前面几行。由于一些脚本文件往往是将这个脚本的功能说明放置在文件的开头,所以利用head命令来读取文本的前面几行是合理的。如此的话,就可以避免对整个脚本文件进行转换。要知道shell对大小写是敏感的。如果对一些命令和参数进行了一些不恰当的转换,有可能会出现莫名其妙的错误。为此只需要对脚本文件前面几行的注释部分进行大小写转换即可。
如果您需转载 利用tr命令轻松实现大小写转换,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
栏目热门