TARGET_DEVICE="Hello"

LOWER_TARGET_DEVICE=$(echo $TARGET_DEVICE | tr "[:upper:]" "[:lower:]")

以上命令将Hello变为hello赋值给LOWER_TARGET_DEVICE。

-----------------------------------------------------------------------------------------------------------------------

Linux shell tr 命令详解

1. 用途

tr,translate的简写,主要用于压缩重复字符,删除文件中的控制字符以及进行字符转换操作。

2. 语法

1
tr [OPTION]... SET1 [SET2]

-s 替换重复的字符

-s: squeeze-repeats,用SET1指定的字符来替换对应的重复字符 (replace each input sequence of  a  repeated  character  that  is listed in SET1 with a single occurrence of that character)

-d 删除字符

-d:delete,删除SET1中指定的所有字符,不转换(delete characters in SET1, do not translate)

-t 字符替换

-t:truncate,将SET1中字符用SET2对应位置的字符进行替换,一般缺省为-t

-c 字符补集替换

-c:complement,用SET2替换SET1中没有包含的字符

3. 实例

a) -s 参数

[root@localhost ~]# echo "aaabbbaacccfddd" | tr -s [abcdf]
abacfd

可以使用这一特点,删除文件中的空白行,实质上跟上面一样,都是用SET1指定的字符来替换对应的重复字符

[root@localhost ~]# cat b.txt
I like football
Football is very fun!
Hello
[root@localhost ~]# cat b.txt | tr -s ["\n"]
I like football
Football is very fun!
Hello

b) -d 参数

删除字符串中的字母

[root@localhost ~]# echo "a12HJ13fdaADff" | tr -d "[a-z][A-Z]"
1213
[root@localhost ~]# echo "a1213fdasf" | tr -d [adfs]
1213

c) -t 参数

[root@localhost ~]# echo "a1213fdasf" | tr -t [afd] [AFO]
A1213FOAsF

上述代码将a转换为A,f转换为F,d转换为O。

可以利用这一特点,实现大小字母的转换

[root@localhost ~]# echo "Hello World I Love You" |tr -t [a-z] [A-Z]
HELLO WORLD I LOVE YOU
[root@localhost ~]# echo "HELLO WORLD I LOVE YOU" |tr -t [A-Z] [a-z]
hello world i love you

也可以利用字符集合进行转换

[root@localhost ~]# echo "Hello World I Love You" |tr -t [:lower:] [:upper:]
HELLO WORLD I LOVE YOU
[root@localhost ~]# 
[root@localhost ~]# echo "HELLO WORLD I LOVE YOU" |tr -t [:upper:] [:lower:]
hello world i love you

Shell脚本-tr 将大写字母变为小写相关推荐

  1. 假设有一个英文文本文件,编写程序读取其内容,并将其中的大写字母变为小写字母,小写字母变为大写字母。

    f = open('D:/voc_1.txt', 'r') s = f.read() f.close() t = open('D:/voc_1.txt', 'w') for i in s:t.writ ...

  2. 把骆驼命名法的变量,变为大写字母变小写且之前加下划线

    /** * 把骆驼命名法的变量,变为大写字母变小写且之前加下划线 * * @param str * @return */ public static String toUnderline(String ...

  3. 删除字符串的大写字母c语言,将字符串大写字母变小写 C语言 字符串中大小写字母转换...

    java怎样将大写字母转换成小写字母 具体代码如下,字符串中大.小写互转 1)输入 第一行只有一个整数m(m都说欲擒故纵最能虏获芳心,可小编拿什么对抗她在皱眉时,小编忍不住嘘寒问暖的情绪. jquer ...

  4. c语言一串大写字母转小写,C语言的基础函数大小写转换

    在程序中经常会需要对字母的大小写进行转换,虽然有现成的upper/lower函数,但是有时因为各种原因,或想减小程序的体积,需要自己编写函数来实现. 这里来讨论一下各种转换的方法. 根据ASCII码我 ...

  5. 正则表达式:密码中至少包含大写字母、小写字母、数字、特殊字符等字符中的2种或3种

    目录 前言 先行断言 是否有那么一个开始符号,它后面的字符中包含小写字母(a-z) 正向否定查找 是否有那么一个开始符号,它后面不全是小写字母(a-z) 密码中只包含字母且长度在8-16之间 密码中同 ...

  6. 实现输入一个字符串,分别将大写字母、小写字母、数字、其他字符存到列表里面并且输出列表

    1.实现输入一个字符串,分别将大写字母.小写字母.数字.其他字符存到列表里面并且输出列表 capital = [] lowercase = [] number = [] character = [] ...

  7. 将字符串中的大写字母变成小写字母

    /*字符串中大写字母变成小写,其余字符不变*/#include <stdio.h> #include <string.h>char* mystrlwr(char *s) {ch ...

  8. java 打印abcd_用JAVA编程统计字符串ABCD123!@#$%ab中大写字母、小写字母、数字、其它字符的个数并打印出来...

    /** * 编程统计字符串"ABCD123!@#$%ab"中大写字母.小写字母.数字.其它字符的个数并打 印出来. */ public class Job1Test { publi ...

  9. 键盘录入一个字符串,统计该字符串中的大写字母、小写字母、数字字符和其他字符分别有多少个 例如,键盘录入abcABCD12345!@#$%,输出结果为:小写字母有3个,大写字母有4个,数字字符有5个,

    键盘录入一个字符串,统计该字符串中的大写字母.小写字母.数字字符和其他字符分别有多少个 例如,键盘录入abcABCD12345!@#$%&,输出结果为:小写字母有3个,大写字母有4个,数字字符 ...

  10. Java实验——分别统计字符串中出现的大写字母、小写字母个数,以及出现的数字字符以及其他字符的个数

    目录 一.题目要求 二.解题思路 三.具体代码 四.运行截图 一.题目要求 分别统计字符串中出现的大写字母.小写字母个数,以及出现的数字字符以及其他字符的个数. 二.解题思路 本题的解题思路是,统计大 ...

最新文章

  1. 淘宝2011.9.21校园招聘会笔试题+答案
  2. pythongetattribute_对Github上Python开源项目进行分析时遇到的一个AttributeError的解释及其解决方法。...
  3. 浅析libcurl多线程安全问题
  4. Oracle如何实现利用实体化视图提高查询性能
  5. go模拟android浏览器,GO浏览器:界面酷炫操作顺畅Android浏览器
  6. echarts曲线图 鼠标位置偏移与提示框的大小设置(与竖线位置偏离)
  7. mysql grant教程_MySQL的Grant命令详解
  8. 阿里巴巴图标库iconfont的使用
  9. 献给加班的各位同仁,祝工作顺利
  10. Termux – Android运行aarch64 – Linux – 安卓设备建站 – 让旧安卓设备老树新花
  11. 小白记录——识别RNA编辑位点
  12. C++将类写在头文件中
  13. React动画实现方案之 Framer Motion,让你的页面“自己”动起来
  14. 准静态、静态、动态(动力学分析)
  15. 那些裸辞的人后来都怎么样了?
  16. CSDN技能树测评:开宗立派但仍需精雕细琢
  17. 抓包工具 - Wireshark(详细介绍与TCP三次握手数据分析)
  18. 如何导出、导入mysql数据
  19. 创造与魔法台更新维护服务器,创造与魔法27日更新维护公告 数据互通交流不愁...
  20. React技巧之设置行内样式

热门文章

  1. 《狂人C》阅读笔记(1)
  2. b树删除节点每次只能删一个吗_【面试索引】BTree、B+Tree、红黑树、B*Tree数据结构...
  3. 跟我一起学docker(14)--docker swarm的使用
  4. 网络应用瑞士军刀——Zentyal(4 常用命令)
  5. 总结的AngularJS1版本的一些面试问题
  6. 图文并茂超详细搭建memcache缓存服务器(nginx+php+memcache+mysql)
  7. HDU 2883 kebab(最大流)
  8. Java经典实例:在正则表达式中控制大小写
  9. 前端内容占位技术分享
  10. KVC 与 KVO 理解