為大家準備了幾道簡單的小題,不知道看過這篇文章后能否做出來?(考驗你能力的時候到了,接招吧。。。)
1、將0-9分別替代成a-j
2、將/etc/issue文件中的內容轉換為大寫后保存至/tmp/issue.out文件中
3、計算1+2+3+..+99+100的值
4、處理字符串“xt.,l 1 jr#!$mn
2 c*/fe 3 uz 4”,只保留其中的數字和空格
5、將PATH變量每個目錄顯示在獨立的一行
下面就來說說tr是什么:
tr:可以對來自標準輸入的字符進行替換、壓縮和刪除。它可以將一組字符變成另一組字符,經常用來編寫優美的單行命令。
語法:tr [選項] [參數]
選項:
-c:第一字符集的補集。
-d:刪除字符集一里的字符。
-s:刪除‘連續著的’重復字符,只保留第一個。
-t:若第一字符集的字符多于第二字符集的字符,那么多出的字符還以原樣輸出;若第一字符集的字符少于第二字符集的字符,那么第二字符集的字符按照第一字符集的字 符位數替換輸出,第二字符集多出的字符不輸出。
參數:
字符集1:指定要轉換或刪除的原字符集。當執行轉換操作時,必須使用參數“字符集2”指定轉換的目標字符集。但執行刪除操作時,不需要參數“字符集2”;
字符集2:指定要轉換成的目標字符集。
字符:
[:alnum:] 字母和數字
[:alpha:] 字母
[:digit:] 數字
[:lower:] 小寫字母
[:space:] 空白字符
[:upper:] 大寫字母
[:graph:] 圖形字符
[:xdigit:] 十六進制字符
示例:
1. echo “hello world” |tr ‘a-z’ ‘A-Z’ (將小寫字符替換成大寫字符;反之(tr ‘A-Z’ ‘a-z’),將大寫字符替換成小寫字符)
2.tr ‘abc’ ‘xyz’
3.tr -s ‘a-z’ (-s 刪除重復字符,只保留一個)
4. echo “haha 1234” |tr -d [:alpha:] (-d 刪除字母。)
5. echo “haha 9876” |tr -cd [:alpha:] (-c 刪除補集,反向選擇)
6. 利用tr做個小計算
echo {1..10} |tr ‘ ‘ ‘ + ‘ |bc
7. 利用tr進行換行
通過這幾個示例看懂了tr了么?上面的題是不是都會做呢?對對答案吧
(提示:
1. tr ‘0-9’ ‘a-j’
2. cat /etc/issue |tr ‘a-z’ ‘A-Z’ > /tmp/issue.out
3. echo {1..100} |tr ‘ ‘ ‘+’ |bc
4. echo ‘”xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4″‘ |tr -cd [:digit:][:space:]
5. echo $PATH |tr ‘:’ ‘\n’
)
原創文章,作者:吼吼哈嘿,如若轉載,請注明出處:http://www.www58058.com/82183