TR | TEE

tr命令 管道 tee

tr 有转换和删除字符作用

tr [OPTION]…SET1[SET2]…

选项:

-c -C(–complement) : 取字符集的补集(取反)

-d (–delete) : 删除所有属于第一字符集的字符

-s (–squeeze-repeats): 把连续重复的字符以单独一个字符表示

-t (–truncate-set1) : 将第一个字符集对应字符转化为第二个字符集对应的字符

[:alnum:]:字母和数字 [:alpha:]:字母 [:cntrl:]:控制(非打印)字符 [:digit:]:数字

[:graph:]: 图形字符 [:lower:]:小写字母 [:print:]:可打印字符 [:punct:]:标点符号

[:space:]:空白字符 [:upper:]:大写字母 [:xdigit:]:十六进制字符

 

-d 删除 tr -d ‘abc’

KK3K5%S{7LGY`}E3QMBDY~9

删除字符串中含有abc的字符

-dc 除了什么都删除掉 tr -dc

58I7HT]JLC]L~(WUIF_9(FR

用Ctrl + d 显示 只含有字符串abc的字符

-s 压缩重复的字符 tr -s

48)B40R)M8$PWCYY0`H%6R3

只压缩连续重复的字符

使用<来重定向标准输入

某些命令能够接受从文件中导入的STDIN

tr ‘a-z’ ‘A-Z’

ZA_Q7ACP~{6U}{T13}L]Q~F

把输入的字符串变成大写数字不变

tr ‘abcd’ ‘1234’

{O}B1_7YA6CF[U[T7{R{J[4

把abcd 换成对应的1234 显示出来

tr ‘a-z’ ‘A-Z’< /etc/issue

785}2YW5_@~5MZD_[7Z~0[N

该命令把/etc/issue中的小写字符都转换成大写字符

tr –d abc < /etc/fstab

A0GE@ES[(Z5`W623QM)`3QS

删除fstab文件中的所有abc中任意字符

使用“<<终止词”命令从键盘把多行重导向给STDIN

直到 终止词 位置的所有文本都发送给STDIN

H0SGY55J71CAU_X7T}8JXBF

<< 起始和结束 << (字母,数字,单词必须一致)

tr ‘a-z’ ‘A-Z’ <<f ox

>

 

>fox

管道(pipe)用符号 | 表示

命令1 | 命令2 | 命令3 ……

将命令1的STDOUT发送给命令2的STDIN,命令2的STDOUT发送到命令3的STDIN

STDERR默认不能通过管道转发,可利用2>&1 或 |& 实现

最后一个命令会在当前shell进程的子shell进程中执行用来

hostname | tr ‘a-z’ ‘A-Z’

})B@[D0TS4Y%$C5SZ_XX[EY

ls |tr ‘a-z’ ‘A-Z’ |tr -d ‘\n ‘

WN70N$3R00LZ}UOPONM[[~6

把ls 的文件显示成大写 在去掉回车 如图所示

ls /boot/error 2>&1 | tr ‘a-z’ ‘A-Z’ 如果不确定管道前面的命令真假就用2>&1 或者 管道后面跟& ‘|&’

M(_$(Y}V0(N8QO)SO{$9K85

tee 也可以重定向到多个目标

保存不同阶段的输出

复杂管道的故障排除

同时查看的记录输出

用tee命令 即要显示出来也要放到文件中

ls |tee ls.log4

%ZU674$(XWI{])T)}IIDFAW

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:/96371

发表评论

登录后才能评论

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达主管QQ  万达娱乐主管  万达娱乐直属  万达登录  万达直属  万达娱乐  万达主管QQ  万达注册  万达开户  万达娱乐