linux命令t---tr

tr命令可以对来自标准命令的字符进行替换,删除和压缩,不能接收参数

-t:将SET2中的每个字符替换SET1中的每个字符,字符字符顺序1对1替换,无论SET1还是SET2哪个长,只替换对应的字符,多出的不替换

EXAMPLE:tr SET1 SET2
1.不带参数将SET2替换SET1替换,且SET1长度大于SET2
echo “aaAA1bbBB2ccCC3” | tr ‘abc’ ‘12’ a被替换成1,b被替换成2,c被替换成2
echo abc|tr [a-z] [A-Z]
echo 01258|tr [0-9] [a-j]
2.不带参数将SET2替换SET1替换,且SET1长度小于SET2
echo “aaAA1bbBB2ccCC3” | tr ‘ab’ ‘123’ a被替换成1,b被替换成2
3、-t:替换
echo “aaAA1bbBB2ccCC3” | tr -t ‘abc’ ‘12’
echo “aaAA1bbBB2ccCC3” | tr -t ‘ab’ ‘123’ 都是a被替换成1,b被替换成2
4、-d:删除指定字符
echo “aaAA1bbBB2ccCC3” | tr -d ‘a-z’
echo “aaAA1bbBB2ccCC3” | tr -d -c ‘a-z\n’
cat file | tr -d “\r”
cat file | tr -s “\r” “\n” 删除Windows文件“造成”的’^M’字符
5、-s:替换连续字符
echo “aaAA1bbBB2ccCC3” | tr -s ‘a-zA-Z’
echo “aaAA1bbBB2ccCC3” | tr -s ‘[:alnum:]\n’
6、-c:操作 (一般-c和-d配合使用,用来指定要获取的字符集)
echo “name” |tr -d -c ‘a \n’
7、文本批量处理(可以格式化输出整个文本内容)
[root@localhost ~]# cat /proc/4518/environ \n
TERM=xtermPATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/mysql/binPWD=/usr/local/mysqlSHLVL=2OLDPWD=/_=/usr/local/mysql/bin/mysqld_safecat: n: No such file or directory

[root@localhost ~]# cat /proc/4518/environ |tr ‘\0’ ‘\n’
TERM=xterm
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/mysql/bin
PWD=/usr/local/mysql
SHLVL=2
OLDPWD=/
_=/usr/local/mysql/bin/mysqld_safe
[root@localhost ~]#

字符集代码:
[:alnum:]:字母和数字,可以用来替代’a-zA-Z0-9’
[:alpha:]:字母,可以用来替代’a-zA-Z’
[:cntrl:]:控制(非打印)字符
[:digit:]:数字,可以用来替代’0-9’
[:graph:]:图形字符
[:lower:]:小写字母,可以用来替代’a-z’
[:print:]:可打印字符
[:punct:]:标点符号
[:space:]:空白字符
[:upper:]:大写字母,可以用来替代’A-Z’
[:xdigit:]:十六进制字符

\ 反斜杠
\a 终端鸣响
\b 退格
\f 换页
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\0 null字符

发布了297 篇原创文章 · 获赞 6 · 访问量 8485

猜你喜欢

转载自blog.csdn.net/qq_23929673/article/details/95590278
今日推荐