004、tr命令
本文最后更新于 65 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com

tr命令

tr转换和删除字符,指的都是字符
tr,translate的简写,主要用于压缩重复字符,删除文件中的控制字符以及进行字符转换操作。

tr[OPTION]... SET1 [SET2]
选项:
-c–C --complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换
-d--delete:删除所有属于第一字符集的字符
-s--squeeze-repeats:把连续重复的字符以单独一个字符表示
-t--truncate-set1:将第一个字符集对应字符转化为第二字符集对应的字符
[:alnum:]:字母和数字[:alpha:]:字母[:cntrl:]:控制(非打印)字符
[:digit:]:数字[:graph:]:图形字符[:lower:]:小写字母[:print:]:可打印字符
[:punct:]:标点符号[:space:]:空白字符[:upper:]:大写字母
[:xdigit:]:十六进制字符

1 、-s 压缩重复字符
-s: squeeze-repeats,用SET1给定的字符来压缩对应的连续重复字符

[root@localhost ~]# echo "aaabbbaacccfddd" | tr -s [abcdf]
abacfd
[root@localhost ~]# echo "aaabbbaacccfddd" | tr -s [ab]
abacccfddd
[root@localhost ~]# echo "aaabbbaacccfddd" | tr -s [ac]
abbbacfddd
[root@localhost ~]# 

可以使用这一特点,删除文件中的空白行,实质上跟上面一样,都是用SET1指定的字符来替换对应的重复字符

[root@localhost ~]# cat > tr.txt
1235

55566

7899

124556
[root@localhost ~]# cat tr.txt 
1235

55566

7899

124556
[root@localhost ~]# cat tr.txt | tr -s ["\n"] //替换里面的换行,只剩一个
1235
55566
7899
124556
[root@localhost ~]#

2、-d 删除字符
-d:delete,删除SET1中指定的所有字符,不转换

[root@localhost ~]# echo "a12HJ13fdaADff" | tr -d "[a-z][A-Z]"
1213
[root@localhost ~]#

3、字符替换
-t:truncate,将SET1中字符用SET2对应位置的字符进行替换,一般缺省为-t

[root@localhost ~]# echo "a1213fdasf" | tr -t [afd] [AFO]
A1213FOAsF
[root@localhost ~]# 

上述代码将a转换为A,f转换为F,d转换为O。
可以利用这一特点,实现大小字母的转换

[root@localhost ~]# echo "Hello World I Love You" |tr -t [a-z] [A-Z]
HELLO WORLD I LOVE YOU
[root@localhost ~]# echo "HELLO WORLD I LOVE YOU" |tr -t [A-Z] [a-z]
hello world i love you
[root@localhost ~]# 

4、cat /dev/urandom | tr -cd '[:alnum:]'
产生随机数并且把除了符合[:alnum:]以外的字符全部删除

谨此笔记,记录过往。凭君阅览,如能收益,莫大奢望。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇