# Comparing strings using nawk

**URL:** <https://community.unix.com/t/comparing-strings-using-nawk/243303>\
**Category:** Shell Programming and Scripting\
**Created:** [June 25, 2009, 7:28am UTC](https://community.unix.com/t/comparing-strings-using-nawk/243303 "2009-06-25T07:28:34Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ganiel24](https://community.unix.com/letter_avatar/ganiel24/32/5_5575768a8748004e209b776fc1b2916d.png) [@ganiel24](https://community.unix.com/u/ganiel24)\
**Post date:** [June 25, 2009, 7:28am UTC](https://community.unix.com/t/comparing-strings-using-nawk/243303/1 "2009-06-25T07:28:34Z")

</div>

Hello All  
Please I have got a file called DATE.tex which consist of

01-04-2008\_12:00:00  
01-04-2005\_12:00:00  
01-04-2003\_12:00:00  
01-04-2007\_12:00:00  
01-04-2002\_12:00:00  
01-04-2009\_12:00:00

I want to use nawk to print out the dates \>=01-04-2009\_12:00:00  
I tried this

cat plnt.new | nawk '{if($1\>="01-04-2009\_12:00:00"){print}}'

But it seems not doing the job. I want to use nawk to do this filtering.  
Can any one help?

---

<div class="post-metadata">

**Author:** ![ahmad.diab](https://community.unix.com/user_avatar/community.unix.com/ahmad.diab/32/940_2.png) [@ahmad.diab](https://community.unix.com/u/ahmad.diab)\
**Post date:** [June 25, 2009, 8:16am UTC](https://community.unix.com/t/comparing-strings-using-nawk/243303/2 "2009-06-25T08:16:47Z")

</div>

code:-

```nohighlight
sed 's/_/-/' input.txt | nawk -F"-" '($1 >= '01') && ( $2 >= '04') && ( $3 >= '2009')'

```

---

<div class="post-metadata">

**Author:** ![rakeshawasthi](https://community.unix.com/user_avatar/community.unix.com/rakeshawasthi/32/224_2.png) [@rakeshawasthi](https://community.unix.com/u/rakeshawasthi)\
**Post date:** [June 25, 2009, 8:21am UTC](https://community.unix.com/t/comparing-strings-using-nawk/243303/3 "2009-06-25T08:21:01Z")

</div>

> [@ahmad.diab](#):
>
> code:-
> 
> ```plaintext
> sed 's/_/-/' input.txt | nawk -F"-" '($1 >= '01') && ( $2 >= '04') && ( $3 >= '2009')'
> 
> ```

There is a small problem here. if date is 01 March 2010 then  
$2 \>='04 will fail.

I suggest using datecalc, written by one of administrators.

---

<div class="post-metadata">

**Author:** ![ahmad.diab](https://community.unix.com/user_avatar/community.unix.com/ahmad.diab/32/940_2.png) [@ahmad.diab](https://community.unix.com/u/ahmad.diab)\
**Post date:** [June 25, 2009, 8:29am UTC](https://community.unix.com/t/comparing-strings-using-nawk/243303/4 "2009-06-25T08:29:29Z")

</div>

```nohighlight
kindly see input file!!!

there is no month written in word ..only digits.

Input....
01-04-2008_12:00:00
01-04-2005_12:00:00
01-04-2003_12:00:00
01-04-2007_12:00:00
01-04-2002_12:00:00
01-04-2009_12:00:00

```

---

<div class="post-metadata">

**Author:** ![vgersh99](https://community.unix.com/user_avatar/community.unix.com/vgersh99/32/14851_2.png) [@vgersh99](https://community.unix.com/u/vgersh99)\
**Post date:** [June 25, 2009, 8:39am UTC](https://community.unix.com/t/comparing-strings-using-nawk/243303/5 "2009-06-25T08:39:26Z")

</div>

convert date/time to YYYYMMDDhhmmss format and do the numeric comparison.

---

<div class="post-metadata">

**Author:** ![rakeshawasthi](https://community.unix.com/user_avatar/community.unix.com/rakeshawasthi/32/224_2.png) [@rakeshawasthi](https://community.unix.com/u/rakeshawasthi)\
**Post date:** [June 25, 2009, 8:54am UTC](https://community.unix.com/t/comparing-strings-using-nawk/243303/6 "2009-06-25T08:54:13Z")

</div>

> [@ahmad.diab](#):
>
> ```plaintext
> kindly see input file!!!
> 
> there is no month written in word ..only digits.
> 
> Input....
> 01-04-2008_12:00:00
> 01-04-2005_12:00:00
> 01-04-2003_12:00:00
> 01-04-2007_12:00:00
> 01-04-2002_12:00:00
> 01-04-2009_12:00:00
> 
> ```

For clarity I chose Mar  
I meant 03\>04 wil fail. 🙂

---

<div class="post-metadata">

**Author:** ![ahmad.diab](https://community.unix.com/user_avatar/community.unix.com/ahmad.diab/32/940_2.png) [@ahmad.diab](https://community.unix.com/u/ahmad.diab)\
**Post date:** [June 25, 2009, 9:59am UTC](https://community.unix.com/t/comparing-strings-using-nawk/243303/7 "2009-06-25T09:59:54Z")

</div>

> [@rakeshawasthi](#):
>
> For clarity I chose Mar  
> I meant 03\>04 wil fail. 🙂

```plaintext
NO IT WILL NOT Fail I had Tried IT.

uname -a

SunOS server8 5.10 Generic_118833-36 sun4u sparc SUNW,Sun-Blade-100

```
