# Re: Ruby equivalent to simple awk program

**URL:** <https://www.ruby-forum.com/t/re-ruby-equivalent-to-simple-awk-program/59615>\
**Category:** Ruby\
**Created:** [May 4, 2006, 6:02pm UTC](https://www.ruby-forum.com/t/re-ruby-equivalent-to-simple-awk-program/59615 "2006-05-04T18:02:16Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gennady\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c57346/32.png) [@Gennady\_B](https://www.ruby-forum.com/u/Gennady_B)\
**Post date:** [May 4, 2006, 6:02pm UTC](https://www.ruby-forum.com/t/re-ruby-equivalent-to-simple-awk-program/59615/1 "2006-05-04T18:02:16Z")

</div>

$ ruby -e ‘puts $ARGF.readlines.reverse’

Gennady.

---

<div class="post-metadata">

**Author:** ![Gennady\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c57346/32.png) [@Gennady\_B](https://www.ruby-forum.com/u/Gennady_B)\
**Post date:** [May 4, 2006, 6:57pm UTC](https://www.ruby-forum.com/t/re-ruby-equivalent-to-simple-awk-program/59615/2 "2006-05-04T18:57:03Z")

</div>

On May 4, 2006, at 11:59 AM, Gennady B. wrote:

> $ ruby -e ‘puts $ARGF.readlines.reverse’
> 
> Gennady.

Someone didn’t test their code 😉 (It’s ARGF not $ARGF)

---

<div class="post-metadata">

**Author:** ![Gennady\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c57346/32.png) [@Gennady\_B](https://www.ruby-forum.com/u/Gennady_B)\
**Post date:** [May 4, 2006, 10:15pm UTC](https://www.ruby-forum.com/t/re-ruby-equivalent-to-simple-awk-program/59615/3 "2006-05-04T22:15:16Z")

</div>

> If you find yourself trying Perl before Ruby, however, seek  
> psychiatric help immediately 🙂

Sometimes you’ll find a machine that doesn’t have ruby installed.

Besides, it’s not that bad. Really I promise it won’t hurt a bit.

```
$ perl -ne 'push @a, $_; END { print reverse @a }'

```

It’s not any worse than the awk (but not a pretty as the ruby). Like  
it was said before, use the tools you have:

```
$ tac test.rb
```

---

<div class="post-metadata">

**Author:** ![Gennady\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c57346/32.png) [@Gennady\_B](https://www.ruby-forum.com/u/Gennady_B)\
**Post date:** [May 4, 2006, 10:21pm UTC](https://www.ruby-forum.com/t/re-ruby-equivalent-to-simple-awk-program/59615/4 "2006-05-04T22:21:17Z")

</div>

On 4-May-06, at 4:14 PM, Louis J Scoras wrote:

> it was said before, use the tools you have:  
> If you are going to resort to perl then you should probably use

$ perl -e ‘print reverse \<\>’

Mike

–

Mike S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://www.stok.ca/~mike/](http://www.stok.ca/~mike/)

The “`Stok’ disclaimers” apply.

---

<div class="post-metadata">

**Author:** ![Gennady\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c57346/32.png) [@Gennady\_B](https://www.ruby-forum.com/u/Gennady_B)\
**Post date:** [May 4, 2006, 10:48pm UTC](https://www.ruby-forum.com/t/re-ruby-equivalent-to-simple-awk-program/59615/5 "2006-05-04T22:48:57Z")

</div>

> If you are going to resort to perl then you should probably use
> 
> $ perl -e ‘print reverse \<\>’

Heh. Very true, that’s much better. I had awk on the brain.

---

<div class="post-metadata">

**Author:** ![Gennady\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c57346/32.png) [@Gennady\_B](https://www.ruby-forum.com/u/Gennady_B)\
**Post date:** [May 4, 2006, 11:10pm UTC](https://www.ruby-forum.com/t/re-ruby-equivalent-to-simple-awk-program/59615/6 "2006-05-04T23:10:36Z")

</div>

Louis J Scoras wrote:

> > If you are going to resort to perl then you should probably use
> > 
> > $ perl -e ‘print reverse \<\>’
> 
> Heh. Very true, that’s much better. I had awk on the brain.

ruby -e ‘$\>\<\<[\*$\<].reverse’

This looks like Perl is supposed to look, too.

---

<div class="post-metadata">

**Author:** ![Gennady\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c57346/32.png) [@Gennady\_B](https://www.ruby-forum.com/u/Gennady_B)\
**Post date:** [May 5, 2006, 8:16pm UTC](https://www.ruby-forum.com/t/re-ruby-equivalent-to-simple-awk-program/59615/7 "2006-05-05T20:16:31Z")

</div>

removed\_email\_address@domain.invalid wrote:

> > ruby -e ‘$\>\<\<[\*$\<].reverse’
> 
> A great big +1 for that one 🙂 Just to prove that ruby can be every bit  
> as ugly (shows flexibility, right?) as any other language 🙂  
> I initially misread that as:

ruby -e ‘$\>\<\<[\*$\<].perverse’

which seems somehow _far_ more appropriate…

---

<div class="post-metadata">

**Author:** ![Gennady\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c57346/32.png) [@Gennady\_B](https://www.ruby-forum.com/u/Gennady_B)\
**Post date:** [May 5, 2006, 7:35pm UTC](https://www.ruby-forum.com/t/re-ruby-equivalent-to-simple-awk-program/59615/8 "2006-05-05T19:35:26Z")

</div>

> ruby -e ‘$\>\<\<[\*$\<].reverse’

A great big +1 for that one 🙂 Just to prove that ruby can be every  
bit as ugly (shows flexibility, right?) as any other language 🙂
