Sponsored Content
Full Discussion: Syntax Error
Top Forums Shell Programming and Scripting Syntax Error Post 302948128 by Don Cragun on Friday 26th of June 2015 04:11:24 AM
Old 06-26-2015
Rather than invoking echo 40,000 times (when none are needed), invoking cat 40,001 times (when none are needed), invoking tee 40,000 times (when none are needed), and invoking sed 40,000 times; I would prefer to just invoke awk once. That should speed up your script by a few orders of magnitude.

I am making a (not too wild) assumption that your sdn file was created with an editor or a DOS/Windows utility that uses <carriage-return><newline> character pairs as the line terminator instead of the single <newline> character line terminator expected on UNIX systems, Linux systems, and other similar systems (which is causing the ? in the filenames you're creating when displayed by some versions of the ls utility as an indication that there is a control character at that point in the filename). I'm also making the wild assumption that you want that extraneous <carriage-return> character in all of the output files you're creating if it also exists in your template file. With those assumptions, try changing your script to be:
Code:
#!/bin/bash
IMPORT="/home/ric/sdn.txt"
TEMPLATE="/home/ric/template.txt"

awk '
NR == 1 {
	IN = $0
	next
}
{	OUT = IN
	sub(/\r/, "", $1)
	file = "/home/ric/" $1 ".txt"
	gsub(/62XX/, $1, OUT)
	print OUT >  file
	close(file)
}' "$TEMPLATE" "$IMPORT"

If sdn.txt contains:
Code:
62387626512
62483736261
628372726392
623982736362

with or without <carriage-returns> and template.txt contains:
Code:
62XX@xxxx://xxx.xxx.xxx.xxx:xxxx/Uid=xxxx&Pwd=xxxx&id=7034056003&sdn=62XX&Txt=Hallo World ?? sent to click xxxx://budi.com/games/m=62XX&id=88762XX&TxtType=0&code=hello_66517

it produces the output files:
62387626512.txt containing:
Code:
62387626512@xxxx://xxx.xxx.xxx.xxx:xxxx/Uid=xxxx&Pwd=xxxx&id=7034056003&sdn=62387626512&Txt=Hallo World ?? sent to click xxxx://budi.com/games/m=62387626512&id=88762387626512&TxtType=0&code=hello_66517

62483736261.txt containing:
Code:
62483736261@xxxx://xxx.xxx.xxx.xxx:xxxx/Uid=xxxx&Pwd=xxxx&id=7034056003&sdn=62483736261&Txt=Hallo World ?? sent to click xxxx://budi.com/games/m=62483736261&id=88762483736261&TxtType=0&code=hello_66517

628372726392.txt containing:
Code:
628372726392@xxxx://xxx.xxx.xxx.xxx:xxxx/Uid=xxxx&Pwd=xxxx&id=7034056003&sdn=628372726392&Txt=Hallo World ?? sent to click xxxx://budi.com/games/m=628372726392&id=887628372726392&TxtType=0&code=hello_66517

and 623982736362.txt containing:
Code:
623982736362@xxxx://xxx.xxx.xxx.xxx:xxxx/Uid=xxxx&Pwd=xxxx&id=7034056003&sdn=623982736362&Txt=Hallo World ?? sent to click xxxx://budi.com/games/m=623982736362&id=887623982736362&TxtType=0&code=hello_66517

which seems to be what you're trying to do.
This User Gave Thanks to Don Cragun For This Post:
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

awk Shell Script error : "Syntax Error : `Split' unexpected

hi there i write one awk script file in shell programing the code is related to dd/mm/yy to month, day year format but i get an error please can anybody help me out in this problem ?????? i give my code here including error awk ` # date-month -- convert mm/dd/yy to month day,... (2 Replies)
Discussion started by: Herry
2 Replies

2. AIX

nim mksysb error :/usr/bin/savevg[33]: 1016,07: syntax error

-------------------------------------------------------------------------------- Hello, help me please. I am trying to create a mksysb bakup using nim. I am geting this error, how to correct it ? : Command : failed stdout: yes stderr: no... (9 Replies)
Discussion started by: astjen
9 Replies

3. Shell Programming and Scripting

sed error : Syntax error: redirection unexpected

My script is throwing the error 'Syntax error: redirection unexpected' My line of code.. cat nsstatustest.html | sed s/<tr><td align="left">/<tr><td align="left" bgcolor="#000000"><font color="white">/ > ztmp.Ps23zp2s.2-Fpps3-wmmm0dss3 HTML tags are getting in the way but they're needed to... (3 Replies)
Discussion started by: phpfreak
3 Replies

4. Programming

Newbie Question.. -> error: syntax error before ';' token

Hello, the following is generating a error at the line "tmprintf(&tmBundle, _TMC("{0}"),Prompt);"... a bit lost as I am diving into this debug... Thank you in advance... int H_YesNo(TMCHAR *Prompt, int DefVal) { TMCHAR YesNo = '\0'; tmprintf(&tmBundle, _TMC("{0}"),Prompt); while... (3 Replies)
Discussion started by: reelflytime
3 Replies

5. Shell Programming and Scripting

ERROR: ./launch_full_backup.sh[18]: Syntax error at line 28 : `else' is not expected.

Help please! :confused: I have the following error with the following file and the emails are not arriving to the email, any idea please? ERROR: ./launch_full_backup.sh: Syntax error at line 28 : `else' is not expected. FECHA=`date +%d%m%y%H%M`... (2 Replies)
Discussion started by: villenan
2 Replies

6. Shell Programming and Scripting

Receiving error: ./ang.ksh[35]: 0403-057 Syntax error at line 116 : `done' is not expected.

Hi All I am quite new to Unix. Following is a shell script that i have written and getting the subject mentioned error. #!/bin/ksh #------------------------------------------------------------------------- # File: ang_stdnld.ksh # # Desc: UNIX shell script to extract Store information.... (3 Replies)
Discussion started by: amitsinha
3 Replies

7. Linux

Ambiguous redirect error and syntax error when using on multiple files

Hi, I need help on following linux bash script. When I linux commands for loop or while loop on individual file it runs great. but now I want the script to run on N number of files so it gives me ambiguous redirect error on line 12 and syntax error on line 22 : (pls help ); #!/bin/bash #... (16 Replies)
Discussion started by: Madhusudan Das
16 Replies

8. Shell Programming and Scripting

IF section problem. syntax error: unexpected end of file error

Hello, I have another problem with my script. Please accept my apologies, but I am really nooby in sh scripts. I am writing it for first time. My script: returned=`tail -50 SapLogs.log | grep -i "Error"` echo $returned if ; then echo "There is no errors in the logs" fi And after... (10 Replies)
Discussion started by: jedzio
10 Replies

9. UNIX for Beginners Questions & Answers

Getting this error syntax error near unexpected token `)'

Hi Everyone, my script was running Ok, but suddenly it started giving this error. ./update_env_bi.sh: line 54: syntax error near unexpected token `)' ./update_env_bi.sh: line 54: `sed -i "s/PORT=*1/PORT=$2/" repository.xml' The line 54 has this code. sed -i "s/PORT=*1/PORT=$2/"... (2 Replies)
Discussion started by: shajay12
2 Replies
All times are GMT -4. The time now is 04:28 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy