linux基础命令: tr

基础命令:  tr  

tr命令

功能:删除和转换字符

语法:tr  [OPTION]…. SET1  [SET2]

参数:

-d : 删除所有属于第一字符集的字符(删除某些特殊字符)

-s : 把连续重复的字符以单独一个字符表示(删除空行很有用)

举例

1.把小写字母转换为大写字母;

cat  /etc/fstab  |  tr a-z  A-Z  #a-z转换为 A-Z

(把fstab中的小写字母替换为大写的)

[root@wCentos7 yuedir]# cat /etc/fstab | tr "a-z" "A-Z"
 
#
# /ETC/FSTAB
# CREATED BY ANACONDA ON THU JUL 21 11:22:48 2016
#
# ACCESSIBLE FILESYSTEMS, BY REFERENCE, ARE MAINTAINED UNDER '/DEV/DISK'
# SEE MAN PAGES FSTAB(5), FINDFS(8), MOUNT(8) AND/OR BLKID(8) FOR MORE INFO
#
UUID=B63A2F0C-C9F9-465D-B2B5-3830FEDCCDD2 /                       XFS     DEFAULTS        0 0
UUID=9DEC22F7-215E-4A47-97D1-AE09446D62D2 /BOOT                   XFS     DEFAULTS        0 0
UUID=A138A967-21DB-41E0-9A4A-7A5EB4979481 /TESTDIR                XFS     DEFAULTS        0 0
UUID=BB99272D-4848-49BD-A896-E5F843037CBF SWAP                    SWAP    DEFAULTS        0 0

 

2.删除字符集中的字符

echo 1asd2cvbg3nh4ttf5yyh6ujjh7jjik8kkk9lll0  |  tr -d a-z

(tr删除包含在自定义字符集中的字符,保留我们需要的字符)

 

[root@wCentos7 yuedir]# echo “1asd2cvbg3nh4ttf5yyh6ujjh7jjik8kkk9lll0” | tr -d “a-z”
1234567890
[root@wCentos7 yuedir]#

 

3.替换特殊字符串

cat  /etc/fstab | tr #   | tr -d 0-9

(把fstab文件中的 # 替换成 @ ,并且删除所有的数字)

[root@wCentos7 yuedir]# cat  /etc/fstab | tr '#'  '@'  | tr -d '0-9'
@
@ /etc/fstab
@ Created by anaconda on Thu Jul  :: 
@
@ Accessible filesystems, by reference, are maintained under '/dev/disk'
@ See man pages fstab(), findfs(), mount() and/or blkid() for more info
@
UUID=bafc-cf-d-bb-fedccdd /                       xfs     defaults         
UUID=decf-e-a-d-aedd /boot                   xfs     defaults         
UUID=aa-db-e-aa-aeb /testdir                xfs     defaults         
UUID=bbd--bd-a-efcbf swap                    swap    defaults

小结:tr 命令还有很多的参数,也支持golb的字符集,这个可以参看下man tr,在使用过程中需要许多莫名奇怪的问题,比如:一个 # 号无法替换才 数字或字母,无法替换成 两个 @@或别的符号,或与关于tr的命令认识很少,以后有时间细细研究。 

原创文章,作者:linux_root,如若转载,请注明出处:http://www.178linux.com/27709

(0)
linux_rootlinux_root
上一篇 2016-08-03
下一篇 2016-08-03

相关推荐

  • Linux 第九天: Linux Shell脚本编程

    Linux 第九天: (08月11日) Linux Shell脚本编程     Shell脚本是包含一些命令或声明, 并符合一定格式的文本文件格式要求 运行shebang机制#!/bin/bash   bash -n /path/to/some_script  检测脚本中的语法错误bash -x /path/to/so…

    Linux干货 2016-08-15
  • 网络配置与进程管理

    一、网络配置 1、ifconfig命令  ifconfig [IFACE]      显示所有启动的网络接口信息,包括网卡别名;指明网络接口时,显示指定网络接口信息 ifconfig -a     显示所有网络接口的信息,包括未启动的网卡接口。 if…

    Linux干货 2016-09-08
  • Linux任务计划

        任务计划分类:    一次性任务计划:只执行一次就结束                at batch    周期性任务计划:每隔一定的周期去…

    Linux干货 2017-05-08
  • Linux的终端类型

    1、串行端口终端(/dev/ttySn):       串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为那时它的最大用途就是用来连接终端。这些串行端口所对应的设备名称是/dev…

    Linux干货 2016-10-14
  • 文件系统

            文件系统表现为单个统一的层次结构:从目录/开始并通过若干数量的子目录继续向下扩展,/也叫做根目录。这种单一的层次系统和 Windows 的不一样,后者的分区有专门的名字空间。        &n…

    Linux干货 2016-02-28
  • 高效运维最佳实践(03):Redis集群技术及Codis实践

    前言 诚如开篇文章所言,高效运维包括管理的专业化和技术的专业化。前两篇我们主要在说些管理相关的内容,本篇说一下技术专业化。希望读者朋友们能适应这个转换,谢谢。 互联网早在几年前就已进入Web 2.0时代,对后台支撑能力的要求,提高了几十倍甚至几百倍。在这个演化过程中,缓存系统扮演了举足轻重的角色。 运维进化到今天,已经不是重复造轮子的时代。所以,我们在架构优…

    Linux干货 2015-04-03