Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How can I find two words in /dev/random using terminal? I tried dd if=/dev/random bs=2 && ( grep 'foo' || grep 'woo' ) but did not work: what is wrong?

share|improve this question
from what I understood here: /dev/random generates random numbers, no words. maybe I got your question wrong? – Alexander Truemper Sep 25 '12 at 15:36
There's a chance that a sequence of random bytes output by /dev/random could happen to form a string of ASCII or Unicode encoded text. – LawrenceC Sep 25 '12 at 15:40
This sounds like a case of the XY problem. What exactly are you trying to do here? Why do you need to search in /dev/random/? – terdon Sep 25 '12 at 16:25
This question definitely requires a purpose -- finding arbitrary text in an endless random stream is nearly pointless unless you're trying to measure entropy (poorly) or something. – mikebabcock Sep 25 '12 at 17:23

grep -E '(foo|woo)' /dev/random should work, but it might be a long time (nearly forever) before you get those words from /dev/random.

With /dev/urandom you might have better luck, but still not very likely to happen.

Here's an example

$ dd bs=1024 count=100 if=/dev/urandom \
     | grep --binary-files=text -E 'AB|CD' \
     | tr -d '\000-\040'
100+0 records in
100+0 records out
à░,½BRπ╛$▄7¼+=r╠▌öBr95Ü@4ëîΩå«¥*╩╜╪╚▓OQ2╪Hª-┌█H$_½Yz/d·D┘═e|M┌■äφ╧F}<G¿2╣┴»x>▄⌐ùY╓│÷¡ç½;▀A└r╫½╞ë═m█ìα_ܵIé+q₧⌐ç╨√╛ºû{√╬│τ▓╟`░KÜRt∞≤aiwδ╫:Ñσwíö┘║╝N╣µ4╢m_«╩ΘΓ▌»câ ╪ÆΣªbI+AB┌⌐■_┴=åÉú°█╥╚╘á@δ╗⌡ï░rS¥ÉóU╣┬₧╞ÿ╔╥─}6R╚ßp]∞█├}L:─¢ñ+äª┤╒░▄Púj0íhf*Nà∙╥▒)d╠90,¥▀ÖE┬£r╦ⁿEF╛τ▀╥┐╛ƒ[9╓╖£╞ka▄¿E;┌τô4jτΩ⌠a[A<QGua5ù╞{LK╢▐û═yv╚°±&Z¢òP7^╬3D ╓╘y▐Mkª'Φ[}ΣuHÆπæ÷âì└«C<▐ß╙ε║î(π$CH▒yc╓É{≥f3(╔Ä9>FîR9~Φ"É$&/ƒ╠√▀k>⌡d;¢vcv«∙╩óÜ≈¡E╢:>╠Nl°CJAMÖ╥╠ßÑuÆ╤å√å{╪F╘╤¬╛Ev∞VwC%'[╝¡÷┤╚âΩ-╘5«>1▓b)f└φ╛wδ─⌡║3╝;í▐ßúⁿ¡&╞╨╖,~÷α¢ríôóH╩4Fú«:Γìφ√└╬²_╠±i╦£╒æ╤≤RFV╘┘┘0Θ/SåaQ_U($╡Dzq╞╜X╗╫lßFΓ¥÷~║┼╗µ[*┼≈¼º┘┘ís╬!é¢F>·W╨1J╘Ç
102400 bytes (102 kB) copied, 0.030347 seconds, 3.4 MB/s
share|improve this answer
Also, since the output of /dev/random presumably includes byte-values corresponding to control-characters, you might want to filter those out after grep. I guess line lengths will average 255 but may be much longer. – RedGrittyBrick Sep 25 '12 at 16:24

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.