Piping fails in locale other than English


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Piping fails in locale other than English
# 1  
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 12:10 PM..
# 2  
What's your system? What's your shell?
# 3  
I'm running on z/OS using an sh shell.
# 4  
$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  
right. The encoded file is appended to the end of the script I am running.
# 6  
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  
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 for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #93
Difficulty: Easy
The mkdir command will create a new directory even if the user does not have the required permissions to write to the parent directory of the new directory.
True or False?

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

Featured Tech Videos