我需要创建一个脚本,它将读取一个单词作为输入并以该单词的乱序字母形式提供输出。
例如:输入单词“Azharudeen”,输出应为“zAhauredne”
答案1
您可以使用命令行中指定的简短 Python 脚本执行此操作:
$ python -c "import random,sys; chars=list(sys.argv[1]); random.shuffle(chars); print(''.join(chars))" Azharudeen
neuAazrhed
答案2
虽然不是最优雅的,但是它可以工作:
$ echo `echo "Azharudee" | sed -e 's/./&\n/g' | shuf` | sed -e 's/ //g'
Auerdzhae
编辑(用于解释):
echo "Azharudee"
把这个词放到标准输出中,然后通过管道传输到
sed -e 's/./&\n/g'
它将每个字符放在自己的行上,将每个字符替换为自身,然后添加换行符,并将其输入到
shuf
它随机地打乱所给定的行并把它们放在标准输出上。
同时,这个外层将上述所有内容(作为“...”)包裹在
echo `...` | sed -e 's/ //g'
“echo” 使第一组命令生成的多行合并为一行,“sed” 将所有空格替换为空。
请注意,如果我使用 而不是用重音符号将其括起来,视觉效果可能会更好,$(echo ... shuf)
因为重音符号有同样的效果,但更难看到。