improved indentation and whitespace for markdown code blocks
All code blocks in markdown have been intended by at least 4 spaces. We add `--tab-stop=8` to all `pandoc(1)` executions in order to set a better tab stop indentation, especially for tab intended code blocks. Changed `bin/pandoc-wrapper.sh` VERSION from "1.5.3 2024-03-26" to "1.6 2024-03-31". Fixed `1991/brnstnd/sorta.README.md` so that the sorta code is code blocks. Removed unneeded paragraph group in copyright in `inc/footer.default.html`. Fixed excess whitespace after list Author on entry `index.html` page. Changed `bin/output-index-author.sh` VERSION from "1.5.2 2024-03-26" to "1.6 2024-03-31". Performed `make www` to perform the above and test under macOS. TODO: Fix the problem of the initial line of code being extra intended. TODO: Fix excess whitespace around code that is inline.
This commit is contained in:
1 parent
b84c27ce02
commit
a996f8d2b8
734 files changed
+16723
-16963
No files matched your search
+44
-44
@@ -1,7 +1,7 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make all
|
||||
make all
|
||||
```
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@ make all
|
||||
The current status of this entry is:
|
||||
|
||||
```
|
||||
STATUS: known bug - please help us fix
|
||||
STATUS: INABIAF - please **DO NOT** fix
|
||||
STATUS: known bug - please help us fix
|
||||
STATUS: INABIAF - please **DO NOT** fix
|
||||
```
|
||||
|
||||
For more detailed information see [1992 adrian bugs](../../bugs.html#1992_adrian).
|
||||
@@ -20,13 +20,13 @@ For more detailed information see [1992 adrian bugs](../../bugs.html#1992_adrian
|
||||
## Try:
|
||||
|
||||
```sh
|
||||
./try.sh
|
||||
./try.sh
|
||||
```
|
||||
|
||||
For the slow minded, try:
|
||||
|
||||
```sh
|
||||
./adsleep 32767
|
||||
./adsleep 32767
|
||||
```
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ The deterministic finite automaton is specified as a series of rules for
|
||||
each state:
|
||||
|
||||
```
|
||||
<state> chars1 <dest1> chars2 <dest2> ...
|
||||
<state> chars1 <dest1> chars2 <dest2> ...
|
||||
```
|
||||
|
||||
`chars1` is a list of characters (_only the first 8_ are significant) which
|
||||
@@ -72,10 +72,10 @@ significant to only eight characters like `chars1`.
|
||||
### Example 1: matches `^abc$`
|
||||
|
||||
```
|
||||
<q0> a <q1> The first state to appear is the start state
|
||||
<q1> b <q2>
|
||||
<q2> c [q3]
|
||||
[q3]
|
||||
<q0> a <q1> The first state to appear is the start state
|
||||
<q1> b <q2>
|
||||
<q2> c [q3]
|
||||
[q3]
|
||||
```
|
||||
|
||||
Technically, a deterministic finite automaton should have a rule for each
|
||||
@@ -88,54 +88,54 @@ character list.
|
||||
### Example 2: `^abc`
|
||||
|
||||
```
|
||||
<q0> a <q1>
|
||||
<q1> b <q2>
|
||||
<q2> c [q3]
|
||||
[q3] . [q3]
|
||||
<q0> a <q1>
|
||||
<q1> b <q2>
|
||||
<q2> c [q3]
|
||||
[q3] . [q3]
|
||||
```
|
||||
|
||||
### Example 3: `abc$`
|
||||
|
||||
```
|
||||
<q0> a <q1> . <q0>
|
||||
<q1> b <q2> a <q1> . <q0>
|
||||
<q2> c [q3] a <q1> . <q0>
|
||||
[q3] . <q1>
|
||||
<q0> a <q1> . <q0>
|
||||
<q1> b <q2> a <q1> . <q0>
|
||||
<q2> c [q3] a <q1> . <q0>
|
||||
[q3] . <q1>
|
||||
```
|
||||
|
||||
### Example 4: `^(abc)*$`
|
||||
|
||||
```
|
||||
[q0] a <q1>
|
||||
<q1> b <q2>
|
||||
<q2> c [q0]
|
||||
[q0] a <q1>
|
||||
<q1> b <q2>
|
||||
<q2> c [q0]
|
||||
```
|
||||
|
||||
### Example 5: `^[ab][cd][ef]$`
|
||||
|
||||
```
|
||||
<q0> ab <q1>
|
||||
<q1> cd <q2>
|
||||
<q2> ef [q3]
|
||||
[q3]
|
||||
<q0> ab <q1>
|
||||
<q1> cd <q2>
|
||||
<q2> ef [q3]
|
||||
[q3]
|
||||
```
|
||||
|
||||
### Example 6: `^(abc|efg)$`
|
||||
|
||||
```
|
||||
<q0> a <q1> e <q3>
|
||||
<q1> b <q2>
|
||||
<q2> c [q5]
|
||||
<q3> f <q4>
|
||||
<q4> g [q5]
|
||||
[q5]
|
||||
<q0> a <q1> e <q3>
|
||||
<q1> b <q2>
|
||||
<q2> c [q5]
|
||||
<q3> f <q4>
|
||||
<q4> g [q5]
|
||||
[q5]
|
||||
```
|
||||
|
||||
With the automaton specification in `filename`, invoke the program by
|
||||
typing
|
||||
|
||||
```sh
|
||||
./adrian filename
|
||||
./adrian filename
|
||||
```
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ occurs if your automaton has more than 257 states.
|
||||
Running:
|
||||
|
||||
```sh
|
||||
./adrian from < your_mailbox
|
||||
./adrian from < your_mailbox
|
||||
```
|
||||
|
||||
will perform a function similar to that of the unix `from` command.
|
||||
@@ -164,13 +164,13 @@ changed to `__FILE__`.) In this case, the program will search for matches to
|
||||
the regular expression:
|
||||
|
||||
```
|
||||
^.[^|C][^w[Q]*(Q|[w[]c).*|^.[C|]$
|
||||
^.[^|C][^w[Q]*(Q|[w[]c).*|^.[C|]$
|
||||
```
|
||||
|
||||
I suggest using `adrian.c` as input, and storing the output in `adwc.c`:
|
||||
|
||||
```sh
|
||||
./adrian < adrian.c > adwc.c
|
||||
./adrian < adrian.c > adwc.c
|
||||
```
|
||||
|
||||
Compiling the new file, `adwc.c`, yields a clone of the unix `wc` command. It
|
||||
@@ -182,19 +182,19 @@ Another possibly interesting automaton can be created by slightly
|
||||
adjusting the `adrian.c` file. Change the first line to read
|
||||
|
||||
```c
|
||||
/* . echo| . */
|
||||
/* . echo| . */
|
||||
```
|
||||
|
||||
and repeat the process above
|
||||
|
||||
```sh
|
||||
./adrian <adrian.c > adecho.c
|
||||
./adrian <adrian.c > adecho.c
|
||||
```
|
||||
|
||||
The new file now contains all lines which match
|
||||
|
||||
```
|
||||
^.[^5|m^]*[m^]([e=p,;]|[^e=+p,;].*)$
|
||||
^.[^5|m^]*[m^]([e=p,;]|[^e=+p,;].*)$
|
||||
```
|
||||
|
||||
Compile and run. This is an `echo(1)` clone. Note the efficient algorithm
|
||||
@@ -205,13 +205,13 @@ Two other adjustments to the first line also yield useful results. By
|
||||
changing it to
|
||||
|
||||
```c
|
||||
/* . head; . */
|
||||
/* . head; . */
|
||||
```
|
||||
|
||||
you can search for matches to
|
||||
|
||||
```
|
||||
^.[^W]*W..*$
|
||||
^.[^W]*W..*$
|
||||
```
|
||||
|
||||
By some freak happenstance, lines of `adrian.c` which match this regular
|
||||
@@ -222,14 +222,14 @@ specified (again this was changed to `__FILE__`).
|
||||
By setting the first line to
|
||||
|
||||
```c
|
||||
/* . basename . */
|
||||
/* . basename . */
|
||||
```
|
||||
|
||||
a clone of the unix `basename(1)` command can be unearthed. The automaton will
|
||||
search for
|
||||
|
||||
```
|
||||
^.[^j]*jr.*$
|
||||
^.[^j]*jr.*$
|
||||
```
|
||||
|
||||
on standard input. And the program which results by running `adrian.c`
|
||||
@@ -241,13 +241,13 @@ The resulting base name is printed to stdout.
|
||||
Lastly, by setting the first line to
|
||||
|
||||
```c
|
||||
/* . sleep . */
|
||||
/* . sleep . */
|
||||
```
|
||||
|
||||
you can search for
|
||||
|
||||
```
|
||||
^.[^(~][^s]*sl.*$
|
||||
^.[^(~][^s]*sl.*$
|
||||
```
|
||||
|
||||
Filtering `adrian.c` through this search yields a clone of the `sleep(1)`
|
||||
|
||||
+45
-46
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Adrian_Mariano">Adrian Mariano</a><br>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)</li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,16 +141,16 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> all</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> all</span></code></pre></div>
|
||||
<h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3>
|
||||
<p>The current status of this entry is:</p>
|
||||
<pre><code>STATUS: known bug - please help us fix
|
||||
STATUS: INABIAF - please **DO NOT** fix</code></pre>
|
||||
<pre><code> STATUS: known bug - please help us fix
|
||||
STATUS: INABIAF - please **DO NOT** fix</code></pre>
|
||||
<p>For more detailed information see <a href="../../bugs.html#1992_adrian">1992 adrian bugs</a>.</p>
|
||||
<h2 id="try">Try:</h2>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<p>For the slow minded, try:</p>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./adsleep</span> 32767</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./adsleep</span> 32767</span></code></pre></div>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>Once you get past the obfuscation, you have an opportunity to learn
|
||||
about regular expressions and state machines.</p>
|
||||
@@ -171,51 +170,51 @@ string is consumed. If the current state at this point is one of the
|
||||
accepting states, then the string is accepted.</p>
|
||||
<p>The deterministic finite automaton is specified as a series of rules for
|
||||
each state:</p>
|
||||
<pre><code><state> chars1 <dest1> chars2 <dest2> ...</code></pre>
|
||||
<pre><code> <state> chars1 <dest1> chars2 <dest2> ...</code></pre>
|
||||
<p><code>chars1</code> is a list of characters (<em>only the first 8</em> are significant) which
|
||||
should trigger a transition to <code><dest1></code>. <code><dest1></code> is another state which
|
||||
should have a similar specification somewhere. A state is accepting if
|
||||
it is specified in square brackets: <code>[final]</code>; state strings are
|
||||
significant to only eight characters like <code>chars1</code>.</p>
|
||||
<h3 id="example-1-matches-abc">Example 1: matches <code>^abc$</code></h3>
|
||||
<pre><code><q0> a <q1> The first state to appear is the start state
|
||||
<q1> b <q2>
|
||||
<q2> c [q3]
|
||||
[q3]</code></pre>
|
||||
<pre><code> <q0> a <q1> The first state to appear is the start state
|
||||
<q1> b <q2>
|
||||
<q2> c [q3]
|
||||
[q3]</code></pre>
|
||||
<p>Technically, a deterministic finite automaton should have a rule for each
|
||||
possible input character at each state. To simplify descriptions of the
|
||||
automata, if no rule is present, the string will not be accepted. Also,
|
||||
the <code>.</code> character matches any character if it occurs first in the
|
||||
character list.</p>
|
||||
<h3 id="example-2-abc">Example 2: <code>^abc</code></h3>
|
||||
<pre><code><q0> a <q1>
|
||||
<q1> b <q2>
|
||||
<q2> c [q3]
|
||||
[q3] . [q3]</code></pre>
|
||||
<pre><code> <q0> a <q1>
|
||||
<q1> b <q2>
|
||||
<q2> c [q3]
|
||||
[q3] . [q3]</code></pre>
|
||||
<h3 id="example-3-abc">Example 3: <code>abc$</code></h3>
|
||||
<pre><code><q0> a <q1> . <q0>
|
||||
<q1> b <q2> a <q1> . <q0>
|
||||
<q2> c [q3] a <q1> . <q0>
|
||||
[q3] . <q1></code></pre>
|
||||
<pre><code> <q0> a <q1> . <q0>
|
||||
<q1> b <q2> a <q1> . <q0>
|
||||
<q2> c [q3] a <q1> . <q0>
|
||||
[q3] . <q1></code></pre>
|
||||
<h3 id="example-4-abc">Example 4: <code>^(abc)*$</code></h3>
|
||||
<pre><code>[q0] a <q1>
|
||||
<q1> b <q2>
|
||||
<q2> c [q0]</code></pre>
|
||||
<pre><code> [q0] a <q1>
|
||||
<q1> b <q2>
|
||||
<q2> c [q0]</code></pre>
|
||||
<h3 id="example-5-abcdef">Example 5: <code>^[ab][cd][ef]$</code></h3>
|
||||
<pre><code><q0> ab <q1>
|
||||
<q1> cd <q2>
|
||||
<q2> ef [q3]
|
||||
[q3]</code></pre>
|
||||
<pre><code> <q0> ab <q1>
|
||||
<q1> cd <q2>
|
||||
<q2> ef [q3]
|
||||
[q3]</code></pre>
|
||||
<h3 id="example-6-abcefg">Example 6: <code>^(abc|efg)$</code></h3>
|
||||
<pre><code><q0> a <q1> e <q3>
|
||||
<q1> b <q2>
|
||||
<q2> c [q5]
|
||||
<q3> f <q4>
|
||||
<q4> g [q5]
|
||||
[q5]</code></pre>
|
||||
<pre><code> <q0> a <q1> e <q3>
|
||||
<q1> b <q2>
|
||||
<q2> c [q5]
|
||||
<q3> f <q4>
|
||||
<q4> g [q5]
|
||||
[q5]</code></pre>
|
||||
<p>With the automaton specification in <code>filename</code>, invoke the program by
|
||||
typing</p>
|
||||
<div class="sourceCode" id="cb12"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./adrian</span> filename</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb12"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./adrian</span> filename</span></code></pre></div>
|
||||
<p>It will read the file and print out all the lines which the automaton
|
||||
accepts. If the file cannot be opened, a system error message will
|
||||
be printed. If the input contains errors, then an error message along
|
||||
@@ -226,52 +225,52 @@ being processed is printed. Error <code>no_destination</code> occurs if you spec
|
||||
set of characters, but no destination state, and error <code>too_many_states</code>
|
||||
occurs if your automaton has more than 257 states.</p>
|
||||
<p>Running:</p>
|
||||
<div class="sourceCode" id="cb13"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./adrian</span> from <span class="op"><</span> your_mailbox</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb13"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./adrian</span> from <span class="op"><</span> your_mailbox</span></code></pre></div>
|
||||
<p>will perform a function similar to that of the unix <code>from</code> command.</p>
|
||||
<p>If no filename is specified on the command line, then <code>__FILE__</code> is used as the
|
||||
specification for the automaton. (Originally this was <code>"adgrep.c"</code> but the file
|
||||
was renamed to <code>adrian.c</code> by the judges and for more portability the arg was
|
||||
changed to <code>__FILE__</code>.) In this case, the program will search for matches to
|
||||
the regular expression:</p>
|
||||
<pre><code>^.[^|C][^w[Q]*(Q|[w[]c).*|^.[C|]$</code></pre>
|
||||
<pre><code> ^.[^|C][^w[Q]*(Q|[w[]c).*|^.[C|]$</code></pre>
|
||||
<p>I suggest using <code>adrian.c</code> as input, and storing the output in <code>adwc.c</code>:</p>
|
||||
<div class="sourceCode" id="cb15"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./adrian</span> <span class="op"><</span> adrian.c <span class="op">></span> adwc.c</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb15"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./adrian</span> <span class="op"><</span> adrian.c <span class="op">></span> adwc.c</span></code></pre></div>
|
||||
<p>Compiling the new file, <code>adwc.c</code>, yields a clone of the unix <code>wc</code> command. It
|
||||
runs on one file, defaulting to <code>"adrian.c"</code> if no file is given (again, this
|
||||
was changed to be <code>__FILE__</code>) and displays the number of lines, words, and bytes
|
||||
in the input file.</p>
|
||||
<p>Another possibly interesting automaton can be created by slightly
|
||||
adjusting the <code>adrian.c</code> file. Change the first line to read</p>
|
||||
<div class="sourceCode" id="cb16"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="co">/* . echo| . */</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb16"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a> <span class="co">/* . echo| . */</span></span></code></pre></div>
|
||||
<p>and repeat the process above</p>
|
||||
<div class="sourceCode" id="cb17"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./adrian</span> <span class="op"><</span>adrian.c <span class="op">></span> adecho.c</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb17"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./adrian</span> <span class="op"><</span>adrian.c <span class="op">></span> adecho.c</span></code></pre></div>
|
||||
<p>The new file now contains all lines which match</p>
|
||||
<pre><code>^.[^5|m^]*[m^]([e=p,;]|[^e=+p,;].*)$</code></pre>
|
||||
<pre><code> ^.[^5|m^]*[m^]([e=p,;]|[^e=+p,;].*)$</code></pre>
|
||||
<p>Compile and run. This is an <code>echo(1)</code> clone. Note the efficient algorithm
|
||||
employed.</p>
|
||||
<p>Two other adjustments to the first line also yield useful results. By
|
||||
changing it to</p>
|
||||
<div class="sourceCode" id="cb19"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="co">/* . head; . */</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb19"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a> <span class="co">/* . head; . */</span></span></code></pre></div>
|
||||
<p>you can search for matches to</p>
|
||||
<pre><code>^.[^W]*W..*$</code></pre>
|
||||
<pre><code> ^.[^W]*W..*$</code></pre>
|
||||
<p>By some freak happenstance, lines of <code>adrian.c</code> which match this regular
|
||||
expression form a unix <code>head(1)</code> command. It prints the first ten lines of
|
||||
the file specified on the command line or <code>adrian.c</code> if no file is
|
||||
specified (again this was changed to <code>__FILE__</code>).</p>
|
||||
<p>By setting the first line to</p>
|
||||
<div class="sourceCode" id="cb21"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a><span class="co">/* . basename . */</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb21"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a> <span class="co">/* . basename . */</span></span></code></pre></div>
|
||||
<p>a clone of the unix <code>basename(1)</code> command can be unearthed. The automaton will
|
||||
search for</p>
|
||||
<pre><code>^.[^j]*jr.*$</code></pre>
|
||||
<pre><code> ^.[^j]*jr.*$</code></pre>
|
||||
<p>on standard input. And the program which results by running <code>adrian.c</code>
|
||||
through this filter requires two parameters. The first is meant to be a
|
||||
filename, and the second, an extension. All leading pathname components
|
||||
are removed from the filename, and the extension is removed if present.
|
||||
The resulting base name is printed to stdout.</p>
|
||||
<p>Lastly, by setting the first line to</p>
|
||||
<div class="sourceCode" id="cb23"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a><span class="co">/* . sleep . */</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb23"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a> <span class="co">/* . sleep . */</span></span></code></pre></div>
|
||||
<p>you can search for</p>
|
||||
<pre><code>^.[^(~][^s]*sl.*$</code></pre>
|
||||
<pre><code> ^.[^(~][^s]*sl.*$</code></pre>
|
||||
<p>Filtering <code>adrian.c</code> through this search yields a clone of the <code>sleep(1)</code>
|
||||
command. Invoke with a single integer parameter, and it will pause for that
|
||||
many seconds.</p>
|
||||
|
||||
Reference in new issue
Block a user