"No such file or directory" for /bin/awk on Ubuntu

4

2

How can I install awk in this version of Ubuntu 11? I installed it from Ubuntu Software Center and I cannot use it.

I'm trying to run an awk script:

#!/bin/awk  
Begin  
{  
print strftime("ora %H, %M , %S");  
}

and I cannot run it because awk is not installed.

./l4p1.sh: /bin/awk: bad interpreter: No such file or directory

radu florescu

Posted 2012-01-15T15:29:21.847

Reputation: 239

Answers

7

awk is not in /bin, it's in /usr/bin. To find out where you have awk, you can run either of the following:

which -a awk
type awk

Then, change your shebang line accordingly:

#!/usr/bin/awk

… or, even better:

#!/usr/bin/env awk

The latter will just use the version of awk for the current environment, and is portable across different systems that have awk installed somewhere else.

slhck

Posted 2012-01-15T15:29:21.847

Reputation: 182 472

It's debatable whether #!/usr/bin/env awk is better. It will invoke whichever awk command the current user happens to have first in $PATH. That's usually what you want, but it can cause problems if a particular user has done something odd. – Keith Thompson – 2012-01-15T16:18:27.093

2@KeithThompson I understand there could be problems with broken per-user installations, but that should rarely be the case. I'm just used to using env, since there are more advantages to it than possible issues. – slhck – 2012-01-15T16:33:28.827