以下为《Linux tr 指令详解》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
Linux tr 指令详解
参考网址https://blog.csdn.net/u***5/article/details/***
tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。
tr只能接收来自标准的输入流,不能接收参数。
语法
tr [OPTION]... SET1 [SET2]
注意:SET2是可选项
SET1:指定要转换或删除的原字符集。当执行转换操作时,必须使用参数“字符集2”指定转换的目标字符集。但执行删除操作时,不需要参数“字符集2”;
SET2:指定要转换成的目标字符集。
OPTION:
不带参数:
? ??将SET2中的每个字符替换SET1中的每个字符,字符是顺序替换,如果SET1的字符长度大于SET2,那么将SET1中多出来的字符用SET2中的最后一个字符替换。
-t, --truncate-set1:
? ??将SET2中的每个字符替换SET1中的每个字符,字符字符顺序1对1替换,无论SET1还是SET2哪个长,只替换对应的字符,多出的不替换。
-c,? --complerment:
? ?取反操作,取数据流中SET1中指定字符的补集。
-d ,--delete :
? ?删除SET1中指定的字符,这里没有SET2
-s ,--squeeze-repeats :
? ?将SET1中指定的连续的连续重复的字符用单个字符替代,可以使用-s '\n'删除空行。
字符集代码:
[: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字符
使用方式:
? tr '[:lower:]' '[:upper:]'
实例?
(入门级)
1.将文件file中出现的"abc"替换为"xyz"
cat file | tr "abc" "xyz" > new_file
【注意】这里,凡是在file中出现的"a"字母,都替换成"x"字母,"b"字母替换为"y"字母,"c"字母替换为"z"字母。而不是将字符串"abc"替换为字符串"xyz"。
2.将输入字符由大写转换为小写:
echo "HELLO WORLD" | tr 'A-Z' 'a-z'
hello world
'A-Z' 和 'a-z'都是集合,集合是可以自己制定的,例如:'ABD-}'、'bB.,'、'a-de-h'、'a-c0-9'都属于集合,集合里可以使用'\n'、'\t',可以可以使用其他ASCII字 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 _=/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 ~]#
将一句话拆成多行。
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]
以上为《Linux tr 指令详解》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。