ランダム文字生成 - ランダム出力!

ランダム文字生成 - ランダム出力!

緊縮措置は次のような影響を与える可能性があります。

[user@localhost ~] crunch 3 3 ab
Crunch will now generate the following amount of data: 32 bytes
0 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 8 
aaa
aab
aba
abb
baa
bab
bba
bbb
[user@localhost ~] 

ところで解決策はありますか?これはクランチと同じですか?唯一の違いはランダム出力ラインですか?

[user@localhost ~] SOMEMAGIC 3 3 ab
bba
bab
abb
aaa
bbb
aab
baa
aba
[user@localhost ~] 

「sort-R」のようなものを使うのは良くありません!解決策は「即時」でなければならないからです。

ベストアンサー1

危機を模倣する

これは、3つの文字列の長さのセット{a、b}のすべての順列を生成し、混合出力を使用しますshuf

$ printf "%s\n" {a..b}{a..b}{a..b} | shuf
bbb
aab
abb
bba
baa
aba
bab
aaa

これは実際に使用することに関連していますsort -R

隠されたランダム化

scriptX引数リストが与えられた場合などの任意のリストを返すようにインターフェイスを非表示にすることを意図している場合は、crunchエイリアスまたはシェルスクリプトでラップするとアクションが実行されます。以下をシェルスクリプトに入れることができますmycrunch.bash

#!/bin/bash

crunch "$1" "$2" "$3" | sort -R

実行可能としてマークします。

$ chmod +x mycrunch.bash

次のように実行してください。

$ ./mycrunch.bash 3 3 ab

スプリアスクランチ出力フィルタリング

上記のスクリプトのコマンドを使用して、grep次のようにこれらの行をフィルタリングできます。

crunch "$1" "$2" "$3" | grep -vE "Crunch|0" | sort -R

これにより、「Crunch」または「0」文字列を含むすべての行が無視されます。

おすすめ記事