linux常用命令之tr

不知道写的对不对,反正执行成功了。没事就瞎作呗!先写下留存,以后等技术好了再改正。
文章中涉及到命令和具体参数可参考linux命令大全www.linuxcool.com

tr命令用于替换文本中的字符

这篇文章用到的知识点有 stat命令、cat命令、输入重定向、输出重定向、运算符&&、任意门(管道符)
查看file文件时间戳 并将其输出重定向至file文件 然后查看其内容
示例一

[root@linuxprobe ~]# stat file > file && cat file
  File: ‘file’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d	Inode: 71328755    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2019-05-01 21:31:31.332754918 +0800
Modify: 2019-05-01 21:32:28.532751754 +0800
Change: 2019-05-01 21:32:28.532751754 +0800
 Birth: -

将file文件内容中的小写字母全部替换成大写字母 并输出到file1(已存在)文件中
并查看file1文件
示例二

[root@linuxprobe ~]# tr [a-z] [A-Z] < file > file1 && cat file1
  FILE: ‘FILE’
  SIZE: 0         	BLOCKS: 0          IO BLOCK: 4096   REGULAR EMPTY FILE
DEVICE: FD01H/64769D	INODE: 71328755    LINKS: 1
ACCESS: (0644/-RW-R--R--)  UID: (    0/    ROOT)   GID: (    0/    ROOT)
CONTEXT: UNCONFINED_U:OBJECT_R:ADMIN_HOME_T:S0
ACCESS: 2019-05-01 21:31:31.332754918 +0800
MODIFY: 2019-05-01 21:32:28.532751754 +0800
CHANGE: 2019-05-01 21:32:28.532751754 +0800
 BIRTH: -

用管道符命令同样
示例三

[root@linuxprobe ~]# cat file | tr [a-z] [A-Z] > file1 && cat file1
  FILE: ‘FILE’
  SIZE: 0         	BLOCKS: 0          IO BLOCK: 4096   REGULAR EMPTY FILE
DEVICE: FD01H/64769D	INODE: 71328755    LINKS: 1
ACCESS: (0644/-RW-R--R--)  UID: (    0/    ROOT)   GID: (    0/    ROOT)
CONTEXT: UNCONFINED_U:OBJECT_R:ADMIN_HOME_T:S0
ACCESS: 2019-05-01 21:31:31.332754918 +0800
MODIFY: 2019-05-01 21:32:28.532751754 +0800
CHANGE: 2019-05-01 21:32:28.532751754 +0800
 BIRTH: -

-d参数是删除字符串中出现的字符
本例是删除file文件中的小写字母 并重定向到file1文件然后 查看file1文件
示例四

[root@linuxprobe ~]# tr -d [a-z] < file > file1 && cat file1
  F: ‘’
  S: 0         	B: 0          IO B: 4096     
D: 01/64769	I: 71328755    L: 1
A: (0644/------)  U: (    0/    )   G: (    0/    )
C: _:_:__:0
A: 2019-05-01 21:31:31.332754918 +0800
M: 2019-05-01 21:32:28.532751754 +0800
C: 2019-05-01 21:32:28.532751754 +0800
 B: -

管道符一样可以这里就不作演示了。
可以删除里面的数字
示例五

[root@linuxprobe ~]# tr -d [0-9] < file > file1 && cat file1
  File: ‘file’
  Size:          	Blocks:           IO Block:    regular empty file
Device: fdh/d	Inode:     Links: 
Access: (/-rw-r--r--)  Uid: (    /    root)   Gid: (    /    root)
Context: unconfined_u:object_r:admin_home_t:s
Access: -- ::. +
Modify: -- ::. +
Change: -- ::. +
 Birth: -

也可以挑数字删除例如:
示例六

[root@linuxprobe ~]# tr -d [1,2,3,5] < file > file1 && cat file1
  File: ‘file’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd0h/64769d	Inode: 787    Links: 
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 09-0-0 ::.7498 +0800
Modify: 09-0-0 ::8.774 +0800
Change: 09-0-0 ::8.774 +0800
 Birth: -

可以挑字母
示例七

[root@linuxprobe ~]# tr -d [a,c,e,s] < file > file1 && cat file1
  Fil: ‘fil’
  Siz: 0         	Blok: 0          IO Blok: 4096   rgulr mpty fil
Dvi: fd01h/64769d	Inod: 71328755    Link: 1
A: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Contxt: unonfind_u:objt_r:dmin_hom_t:0
A: 2019-05-01 21:31:31.332754918 +0800
Modify: 2019-05-01 21:32:28.532751754 +0800
Chng: 2019-05-01 21:32:28.532751754 +0800
 Birth: -

甚至可以这么玩
示例八

[root@linuxprobe ~]# tr -d [a,c,e,s,1,2,3,4,/,:,-] < file > file1 && cat file1
  il ‘fil’
  iz          	lok            lok    rgulr mpty fil
vi fdhd	nod     ink 
 (rwrr)  id (        root)   id (        root)
ontxt unonfind_uobjt_rdmin_hom_t
   +
odify   +
hng   +
 irth 

这家伙,贫穷限制了我的想象力啊。亲测()不可。这又勾起我无限的学习欲啊!
愿我们共同进步!

你可能感兴趣的:(实践问题及解决)