Piping fails in locale other than English


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Piping fails in locale other than English
# 1  
Old 07-12-2012
Data Piping fails in locale other than English

Hi,

I am new to shell scripting and unix in general, and I am running into a problem.

I need to grep my script for a line which is a delimiter for an encoded file. I would like to get the line number of this delimiter so that i can use "tail" to get the encoded data and decode it.

I am piping the output of my "grep -n" command into the cut command in order to get the line number. This works when the locale is "C" or "en_US." However, when I change the locale to "cs_CZ" for example, this fails.


PAX_PAYLOAD: is the delimeter.

Code:
payload_marker_line=$(grep -n '^PAX_PAYLOAD:$' $0 | cut -d ':' -f 1)
payload_start=$((payload_marker_line + 1))

I am getting this error.

Code:
grep: input file "|": EDC5129I No such file or directory.
grep: input file "cut": EDC5129I No such file or directory.
grep: input file "-d": EDC5129I No such file or directory.
grep: input file ":": EDC5129I No such file or directory.
grep: input file "-f": EDC5129I No such file or directory.
grep: input file "1": EDC5129I No such file or directory.

Is there any reason that | is being associated with a file name??

Thank you for any and all help!!

Moderator's Comments:
Mod Comment Code tags for code, please.

Last edited by Corona688; 07-12-2012 at 11:10 AM..
# 2  
Old 07-12-2012
What's your system? What's your shell?
# 3  
Old 07-12-2012
I'm running on z/OS using an sh shell.
# 4  
Old 07-12-2012
$0 is the name of the script you are running, not the parameter

ex:
Code:
# myscript.sh
echo "the code executing this is $0"
echo "my first parameter is $1"

Code:
$>  ./myscript.sh  t.lis
the code executing this is ./myscript.sh
my first parameter is t.lis
$>

# 5  
Old 07-12-2012
right. The encoded file is appended to the end of the script I am running.
# 6  
Old 07-12-2012
You should not append to a running script. Period. You append to an output file.
When you execute a shell script, it should remain unchanged during the run.

If that is what you meant....
# 7  
Old 07-12-2012
Ah. Thanks for the tip. I will keep that in mind.

I removed the encoded file into its own file, yet I am still having the same issue whenever a piping symbol is reached. it says:

|: EDC5129I No such file or directory.

Does anyone know why this works fine in English but not in any other locale?

---------- Post updated at 12:31 PM ---------- Previous update was at 12:25 PM ----------

Also, just to clarify, the encoded file I have is appended to the script before it runs, not durring. No changes are made to the running script, the encoded file is simply read and decoded. Im not sure if this makes a difference.
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to convert number to english?

Hi gurus, I have a weird requirement. I need to convert the number to english lecture. I have 1.2 ....19 numbers I need to convert to first second third fourth, fifth, sixth... Is there any way convert it using unix command? thanks in advance. (8 Replies)
Discussion started by: ken6503
8 Replies

2. Shell Programming and Scripting

Translate from english to french

Hi, I wrote a script to convert a given word from English to French. But I am not able to figure out what I am missing here. I am not able to get the translated word Below is my script: French=/root/dict/entofr.txt for i in $* do word="echo $word $i" done while: do cat <<... (1 Reply)
Discussion started by: pinky7630
1 Replies

3. Shell Programming and Scripting

convert english to chinese

Hi Experts, Can anyone help me to convert a english input into chinese in a bash script. help would be highly appreciable. thanks, Deepak (3 Replies)
Discussion started by: naw_deepak
3 Replies

4. UNIX for Dummies Questions & Answers

translate to normal english

lnode * head = temp; (1 Reply)
Discussion started by: rickym2626
1 Replies

5. Red Hat

Displaying the available locales in english

Hi, I am developing a program that would ask the user to set the locale. For that, I need to display them to user in plain english. like English(US) English (Uk) depending on the user selection I need to set the locale. Is there a command in redhat linux that would... (1 Reply)
Discussion started by: eamani_sun
1 Replies

6. Ubuntu

LANG=C not English?

On Ubuntu 7.04, why would the "C" LANG parameter not be English: $ LANG=C locale LANG=C LANGUAGE=he_IL:he:en_GB:en LC_CTYPE="he_IL.utf8" LC_NUMERIC="he_IL.utf8" LC_TIME="he_IL.utf8" LC_COLLATE="he_IL.utf8" LC_MONETARY="he_IL.utf8" LC_MESSAGES="he_IL.utf8" LC_PAPER="he_IL.utf8"... (4 Replies)
Discussion started by: dotancohen
4 Replies

7. SCO

gzip english version

Hello, i'm not skilled on unix, i'd like gzip/gunzip software and, ESPECIALLY, the detailed instructions for installation....please help me......i'm like a baby in unix world!!!!! hello, thanks a lot! mike (3 Replies)
Discussion started by: mfran2002
3 Replies

8. Shell Programming and Scripting

Please decode in English

Hello: Can anyone please decode this script in English. I have also made some comments which I know.. The actual script does not have one comment also.. #! /bin/ksh . odbmsprd_env.ksh #setting the env.. echo $0 Started at : `date '+%d-%m-%Y %H:%M:%S'` # what's echo $0 ... (4 Replies)
Discussion started by: ST2000
4 Replies
Login or Register to Ask a Question