用于打乱单词字母顺序的标志/命令

用于打乱单词字母顺序的标志/命令

我需要创建一个脚本,它将读取一个单词作为输入并以该单词的乱序字母形式提供输出。

例如:输入单词“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)因为重音符号有同样的效果,但更难看到。

相关内容