一、關(guān)于fold命令
你有沒有發(fā)現(xiàn)自己在某種情況下想要折疊或中斷命令的輸出,以適應(yīng)特定的寬度?
在運(yùn)行虛擬機(jī)的時(shí)候,特別是沒有 GUI 的服務(wù)器。 以防萬一,如果你想限制一個(gè)命令的輸出為一個(gè)特定的寬度, fold 命令在這里就能派的上用場了!?
fold 命令會(huì)以適合指定的寬度調(diào)整輸入文件中的每一行,并將其打印到標(biāo)準(zhǔn)輸出。
# fold --help
# which fold
# rpm -qf /usr/bin/fold
# yum info coreutils



二、關(guān)于tr命令
通過使用 tr,你可以非常容易地實(shí)現(xiàn) sed 的許多最基本功能。
你可以將 tr 看作為 sed 的(極其)簡化的變體:它可以用一個(gè)字符來替換另一個(gè)字符,或者可以完全除去一些字符,也可以用它來除去重復(fù)字符。
tr用來從標(biāo)準(zhǔn)輸入中通過替換或刪除操作進(jìn)行字符轉(zhuǎn)換。
tr主要用于刪除文件中控制字符或進(jìn)行字符轉(zhuǎn)換。
使用tr時(shí)要轉(zhuǎn)換兩個(gè)字符串:字符串1用于查詢,字符串2用于處理各種轉(zhuǎn)換。
tr剛執(zhí)行時(shí),字符串1中的字符被映射到字符串2中的字符,然后轉(zhuǎn)換操作開始。



1、去除重復(fù)的字符
將連續(xù)的幾個(gè)相同字符壓縮為一個(gè)字符 ,注意只能是連續(xù)的字符。
# echo aabbccddeeff | tr -s [a-z]
# echo aabbccddeeff | tr -s? 'a-z'
# echo aabbccddeeff112233 | tr -s 'a-z-0-9'
# echo aabbccddeeff112233 | tr -s [a-z-0-9]

2、刪除空白行
刪除空白行就是刪除換行符/n? ?注意這些空白行上只有回車符,沒有空格符?

3、大小寫相互轉(zhuǎn)換
將語句中所有的小寫字母變成大寫字母,其中-t可省略
# echo "Hello World I Love You" |tr -t [a-z] [A-Z]
# echo "Hello World I Love You" |tr -t 'a-z' 'A-Z'
# echo "Hello World I Love You" |tr 'a-z' 'A-Z'
# echo "Hello World I Love You" |tr [a-z] [A-Z]

4、刪除指定的字符

5、利用-c進(jìn)行補(bǔ)集的替換

# echo 172.16.30.141|tr -dc . ; echo


三、利用Linux隨機(jī)產(chǎn)生含大小寫字母、數(shù)字、特殊字符的密碼
#??</dev/urandom? tr -dc? ?'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~'? |? head -c 15 ; echo

# tr -dc? ?'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~'? ?</dev/urandom | head -c 15; echo

四、參考
如何使用Linux的fold命令來限制文件列寬
https://www.linuxprobe.com/fold-linux.html
https://m.yisu.com/zixun/233025.html
/dev/random 維基百科
https://zh.wikipedia.org/wiki//dev/random
/dev/urandom 不得不說的故事
http://tinylab.org/myths-about-urandom
Linux系統(tǒng)產(chǎn)生隨機(jī)數(shù)/dev/random 和 /dev/urandom
https://www.cnblogs.com/zhouhbing/p/5820899.html
Secure Random Password Generator
http://www.csgnetwork.com/randpassgen.html
How to generate a random string?
https://unix.stackexchange.com/questions/230673/how-to-generate-a-random-string
https://stackoverflow.com/questions/30947873/generate-random-passwords-in-shell-with-one-special-character
https://www.howtogeek.com/howto/30184/10-ways-to-generate-a-random-password-from-the-command-line
Shell生成隨機(jī)密碼
https://www.cnblogs.com/so-cool/p/9951629.html
https://blog.csdn.net/lmzf2011/article/details/92767883
https://pwdpwd.com/post/generate-random-string
Shell 編程從入門到放棄
https://zhenye-na.github.io/2019/11/13/shell-scripting-from-beginner-to-expert.html
將語句中所有的小寫字母變成大寫字母,其中-t可省略