Sponsored Content
Top Forums Shell Programming and Scripting syntax for IF test or AWK for octal Post 302604070 by sboxtops on Friday 2nd of March 2012 09:57:09 PM
Old 03-02-2012
syntax for IF test or AWK for octal

Using korn shell. I am reading a file line by line. If a record has a carriage return (octal 015) then I append the second record to the first record. Not all records have a carriage return. I have the unix shell script working with grep, but when my file has +100,000 records it runs slow. I would like to see if the shell script would run faster with an IF Test or AWK. I can't get the syntax right for the IF test. I don't know AWK, if you think this would run faster I would appreciate know how to code it.


1) I was doing some time testing to see where my shell script was slow. This runs fast.
Code:
#!/bin/ksh
file_in=file.txt
file_out=file.txt_out
cnt_in=0
while read LINE
do
   cnt_in=$(( cnt_in + 1 ))
   echo $LINE >> $file_out
done < $file_in

2) This runs slow
#!/bin/ksh
dir1=/tdcexports/db2/stage
file_in=file.txt
file_out=file.txt_out
cnt_in=0
while read LINE
do
   cnt_in=$(( cnt_in + 1 ))
   ck_carriage=`echo $LINE | grep -c ^M`
   echo $LINE >> $file_out
done < $file_in


3) I've tried various IF but didn't find the right syntax yet. This doesn't work properly:
Code:
if [ $LINE  = '\015' ]
     then echo equal
     else echo no equal
   fi


Thank you for your help.

Last edited by radoulov; 03-03-2012 at 03:11 AM.. Reason: Code tags!
 

10 More Discussions You Might Find Interesting

1. Programming

octal and strings

hi i have a peculiar problem...i have a number of stirngs separated by a '/0'. it looks somethings like: char test="abk\0jsdhj\01234\0" actually i will be reading this from a file or something... im supposed to change the \0 to a ',' but in C the octal representation starts with a '\'...... (1 Reply)
Discussion started by: strider
1 Replies

2. UNIX for Dummies Questions & Answers

Display permissions in octal format

Hi, Is there any way to display the permissions in octal format rather than "rwxrwxrwx" format. I have a file and i want to see the permissions in octal format. Please help. (11 Replies)
Discussion started by: venkatesht
11 Replies

3. Shell Programming and Scripting

syntax error in shell test: unknown operator

Hi All, can some one figure out the syntax issue here. How to overcome this? #!/bin/sh $ HFR_MAIL=NO $ PRP_MAIL=NO $ MC_MAIL=NO $ if && && ]; then > echo "NO " > else > echo "YES" > fi test: unknown operator NO $ if && && ]; then > echo "NO" > else > echo "YES" >... (4 Replies)
Discussion started by: shellscripter
4 Replies

4. Shell Programming and Scripting

[bash]printf octal instead of decimal

Hello everybody, I would like to understand why the printf function is returning me an octal value with this command : printf %4.4d 0010 returns 0008 printf %4.4d 10 returns 0010 Thanks for help. (3 Replies)
Discussion started by: dolphin06
3 Replies

5. Shell Programming and Scripting

syntax error for if statment test expression

Hi what's the correct way of writing if 1)if "$time_diff" -gt 5 then echo "killing hung process \n" fi 2)if test $time_diff -gt 5 then echo "killing hung process \n" fi where -time_diff=$(($Sam - $current_min)) and current_min=`date +%M` infact both are giving Syntax... (1 Reply)
Discussion started by: Anteus
1 Replies

6. Shell Programming and Scripting

Test on string containing spacewhile test 1 -eq 1 do read a $a if test $a = quitC then break fi d

This is the code: while test 1 -eq 1 do read a $a if test $a = stop then break fi done I read a command on every loop an execute it. I check if the string equals the word stop to end the loop,but it say that I gave too many arguments to test. For example echo hello. Now the... (1 Reply)
Discussion started by: Max89
1 Replies

7. Shell Programming and Scripting

How to check weather a string is like test* or test* ot *test* in if condition

How to check weather a string is like test* or test* ot *test* in if condition (5 Replies)
Discussion started by: johnjerome
5 Replies

8. UNIX for Dummies Questions & Answers

Deleting octal values

I have some junk values in my files 鵶„‰¼±¤¡ad. am able to find the octal values as below by using od command. 303 251 265 266 204 211 274 261 244 241 141 144 i want to know how to delete the octal this values . (5 Replies)
Discussion started by: vino.paal
5 Replies

9. UNIX for Dummies Questions & Answers

Problem with test syntax in script

Hi guys here i'm again with more question The code below try to find an user and write everything about him if exist, so my problem appear on line of test, where the program test if the user has secondary groups related. The rest it's clear # usugrup.sh lista todas las caracteristicas de un... (3 Replies)
Discussion started by: Newer
3 Replies

10. Shell Programming and Scripting

Problem with gstat and octal value

Here are a few lines from my script. The problem I am having is that the statement for gstat returns this error: line 43: The statement is coming from gstat. Is there a way to fix it? Apparently -eq 02 is coming up as some octal value, I need it to be recognized as 02. Apparently in... (4 Replies)
Discussion started by: newbie2010
4 Replies
TCFMGR(1)							   Tokyo Cabinet							 TCFMGR(1)

NAME
tcfmgr - the command line utility of the fixed-length database API DESCRIPTION
The command `tcfmgr' is a utility for test and debugging of the fixed-length database API and its applications. `path' specifies the path of a database file. `width' specifies the width of the value of each record. `limsiz' specifies the limit size of the database file. `key' specifies the key of a record. `value' specifies the value of a record. `file' specifies the input file. tcfmgr create path [width [limsiz]] Create a database file. tcfmgr inform [-nl|-nb] path Print miscellaneous information to the standard output. tcfmgr put [-nl|-nb] [-sx] [-dk|-dc|-dai|-dad] path key value Store a record. tcfmgr out [-nl|-nb] [-sx] path key Remove a record. tcfmgr get [-nl|-nb] [-sx] [-px] [-pz] path key Print the value of a record. tcfmgr list [-nl|-nb] [-m num] [-pv] [-px] [-rb lkey ukey] [-ri str] path Print keys of all records, separated by line feeds. tcfmgr optimize [-nl|-nb] path [width [limsiz]] Optimize a database file. tcfmgr importtsv [-nl|-nb] [-sc] path [file] Store records of TSV in each line of a file. tcfmgr version Print the version information of Tokyo Cabinet. Options feature the following. -nl : enable the option `FDBNOLCK'. -nb : enable the option `FDBLCKNB'. -sx : the input data is evaluated as a hexadecimal data string. -dk : use the function `tcfdbputkeep' instead of `tcfdbput'. -dc : use the function `tcfdbputcat' instead of `tcfdbput'. -dai : use the function `tcfdbaddint' instead of `tcfdbput'. -dad : use the function `tcfdbadddouble' instead of `tcfdbput'. -px : the output data is converted into a hexadecimal data string. -pz : do not append line feed at the end of the output. -m num : specify the maximum number of the output. -pv : print values of records also. -rb lkey ukey : specify the range of keys. -ri str : specify the interval notation of keys. -sc : normalize keys as lower cases. This command returns 0 on success, another on failure. SEE ALSO
tcftest(1), tcfmttest(1), tcfdb(3), tokyocabinet(3) Man Page 2012-08-18 TCFMGR(1)
All times are GMT -4. The time now is 05:48 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy