一、关于fold命令
你有没有发现自己在某种情况下想要折叠或中断命令的输出,以适应特定的宽度?
在运行虚拟机的时候,特别是没有 GUI 的服务器。 以防万一,如果你想限制一个命令的输出为一个特定的宽度, fold 命令在这里就能派的上用场了!
fold 命令会以适合指定的宽度调整输入文件中的每一行,并将其打印到标准输出。
# fold --help
# which fold
# rpm -qf /usr/bin/fold
# yum info coreutils
二、关于tr命令
通过使用 tr,你可以非常容易地实现 sed 的许多最基本功能。
你可以将 tr 看作为 sed 的(极其)简化的变体:它可以用一个字符来替换另一个字符,或者可以完全除去一些字符,也可以用它来除去重复字符。
tr用来从标准输入中通过替换或删除操作进行字符转换。
tr主要用于删除文件中控制字符或进行字符转换。
使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。
tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。
1、去除重复的字符
将连续的几个相同字符压缩为一个字符 ,注意只能是连续的字符。
# 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、大小写相互转换
将语句中所有的小写字母变成大写字母,其中-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进行补集的替换
# echo 172.16.30.141|tr -dc . ; echo
三、利用Linux随机产生含大小写字母、数字、特殊字符的密码
# </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系统产生随机数/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生成随机密码
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可省略