0

Please let me know what is wrong with below code:

#!/bin/csh
set str = "peanut"
set sr = "an"
awk 'BEGIN { print index($str,$sr) }'

The error is awk: Field is not correct. The source line number is 1.

Programmer
  • 6,565
  • 25
  • 78
  • 125

1 Answers1

1

The $variable strings are not interpreted by Csh within the 'single quotes'.

Perhaps the simplest fix is to use (GNU) Awk variables as command-line parameters:

#!/bin/csh
set str = "peanut"
set sr = "an"
awk -vstr=$str -vsr=$sr 'BEGIN { print index(str, sr)}'
johnsyweb
  • 136,902
  • 23
  • 188
  • 247