Use single quotes around the param value so that shell does not interpret the "|" . (in case of bash shell)
$ cat t.pig matches '.*\\b($keyword)\\b.*'; $ java -Xmx500m -cp pig.jar org.apache.pig.Main -dryrun -x local -param keyword='abc|def' t.pig 2011-01-14 13:23:56,670 [main] INFO org.apache.pig.Main - Logging error messages to: /Users/tejas/pig_comb2/trunk/pig_1295040236668.log 2011-01-14 13:23:56,699 [main] INFO org.apache.pig.Main - Dry run completed. Substituted pig script is at t.pig.substituted $ cat t.pig.substituted matches '.*\\b(abc|def)\\b.*'; On 1/14/11 9:28 AM, "Shane Eller" <[email protected]> wrote: I'm having trouble finding a way to include a simple regex string with the -param flag. Example: pig -f myscript.pig -param keyword=buy|price|sell|sale|discounts I've tried a mix of quotes, escapes, etc and nothing seems to work. The corresponding line in my pig script looks something like matches '.*\\b($keyword)\\b.*'; Any help or comments would be appreciated. -- Shane [email protected]
