Syntax error near unexpected token


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Syntax error near unexpected token
# 8  
Old 11-29-2014
Quote:
Originally Posted by Scrutinizer
Please do not leave people guessing. Be complete. Show a representative sample of input, desired output, attempts at a solution and specify what OS and version are being used.
Content of test.sh ;

Code:
#!/bin/bash
count=$((1))
while read item
  printf %s `sed -n $"count"p test1.txt` > test2.txt
  count=$((count+1))
  do     
  echo "why?"
done <test3.txt

I am just experimenting to investigate the behavior there is no purpose. Please find test1.txt and test3.txt in the attachment. I want to echo for the amount of line numbers in test3.txt but it doesn't quit the loop now.
# 9  
Old 11-29-2014
Show
  • a representative sample of input - check
  • desired output - missing
  • attempts at a solution - check
  • specify what OS and version are being used - missing
# 10  
Old 11-29-2014
Quote:
Originally Posted by Scrutinizer
Show
  • a representative sample of input - check
  • desired output - missing
  • attempts at a solution - check
  • specify what OS and version are being used - missing
Thank you for the pointers. Desired output ;
Code:
why?
why?
.
n

I am temporarily using slackware64 14.
n is the number of line numbers in test3.txt
# 11  
Old 11-29-2014
Try
Code:
printf %s `sed -n "$count p" test1.txt`

This should work. Still it would make sense to adopt some programming, say, standards:
Use $(...) instead of deprecated `...`
Use ${...} to separate variable names from its environment/context
Use "..." for strings like format or variables with spaces. So above would become
Code:
printf "%s" $(sed -n "${count} p" test1.txt)

# 12  
Old 11-29-2014
Then:
Code:
printf "%s" "$(sed -n "${count} p" test1.txt)"

--
Quote:
Originally Posted by y33t
Thank you for the pointers. Desired output ;
Code:
why?
why?
.
n

I am temporarily using slackware64 14.
n is the number of line numbers in test3.txt
That is the screen output. Wat is the desired output in test2.txt ?

Last edited by Scrutinizer; 11-29-2014 at 08:03 AM..
# 13  
Old 11-29-2014
Quote:
Originally Posted by Scrutinizer
Then:
Code:
printf "%s" "$(sed -n "${count} p" test1.txt)"

--

That is the screen output. Wat is the desired output in test2.txt ?
Output can be found in the attachment. I also noticed that adding ;
Code:
> test2.txt

to the end of you excpression ;
Code:
printf "%s" "$(sed -n "${count} p" test1.txt)" > test2.txt

results in an empty test2.txt.

Desired output of test2.txt is count'th line of test3 file. There will always be one line at test2.txt and it will change at each iteration.
# 14  
Old 11-29-2014
The output file would be empty because the script is continually overwriting the output file because of the > redirection every time it goes through the loop.

--

If we combine the recommendations in this thread, we end up with something like this:
Code:
count=1
while read item
do
  printf "%s" "$(sed -n "${count} p" test1.txt)"
  count=$((count+1))
  echo "why?"
done < test3.txt > test2.txt

Which produces:
Code:
1154why?
1155why?
1151why?
1157why?
1159why?
1163why?
1156why?
1154why?
.....

In test2.txt. Although I still do not understand what it is that you are trying to achieve...

--
The same could be achieved with this:
Code:
while read item
do
  IFS= read -r line <&3
  printf "%swhy?\n" "$line"
done < test3.txt 3< test1.txt > test2.txt

Which would be a lot quicker and also more efficient..

Last edited by Scrutinizer; 11-29-2014 at 09:25 AM..
This User Gave Thanks to Scrutinizer For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Ubuntu

Syntax error near unexpected token `('

detect_mouse_mvt.sh /home/andy/bin/detect_mouse_mvt.sh: line 4: syntax error near unexpected token `(' /home/andy/bin/detect_mouse_mvt.sh: line 4: `fh = file('/dev/input/mice')' #!/bin/bash # # fh = file('/dev/input/mice') while True: fh.read(3) print 'Mouse... (15 Replies)
Discussion started by: drew77
15 Replies

2. UNIX for Beginners Questions & Answers

Syntax error near unexpected token

Dears, While executing the below script im getting the error at line 30. Please let me know what changes to be done to fix this. test.sh: line 30: syntax error near unexpected token `done' test.sh: line 30: ` done ' #!/bin/sh # Rev. PA1 # author: eillops # date: 26-04-2018 # #... (1 Reply)
Discussion started by: Kamesh G
1 Replies

3. How to Post in the The UNIX and Linux Forums

Syntax error near unexpected token `('

I have 2 files like a.txt and b.txt and the content is as below cat a.txt 810750125 117780 /BSCSQAT4A/bscsqat4a/lib/jar/wclt_common.jar 1803152428 13300 /BSCSQAT4A/bscsqat4a/lib/jar/WFMSSupportTool.jar 2663502779 67049 /BSCSQAT4A/bscsqat4a/lib/jar/wma.jar 687942896 665272... (1 Reply)
Discussion started by: ranabhavish
1 Replies

4. Shell Programming and Scripting

Syntax error near unexpected token '('

I tried to execute the code but I got this error ./Array.c: line 9: syntax error near unexpected token '(' ./Array.c: line 9: ' nvals = get_data(a,MAXARRAY);' and #include<stdio.h> #define MAXARRAY 1000 main() { int a, nvals; nvals =... (7 Replies)
Discussion started by: sgradywhite
7 Replies

5. Shell Programming and Scripting

Syntax error near unexpected token `else'

Hi, I am trying to read the session log through script. But it keeps showing me some error near. I have tried everything. Even tried converting the script using sed command to remove the hidden characters(\r).But nothing seems to be working.Below is the script : #!/bin/bash cd... (6 Replies)
Discussion started by: Aryan12345
6 Replies

6. Shell Programming and Scripting

Syntax error near unexpected token `('

What do I do here? #!/bin/bash payload=-1 AND 1=IF(21,BENCHMARK(5000000,MD5(CHAR(115,113,108,109,97,112))),0)# hash=`echo -n $payload md5sum tr -d 'n' sed 'ss-sg' md5sum tr -d 'n' sed 'ss-sg'` curl --data cs2=chronopay&cs1=$payload&cs3=$hash&transaction_type=rebill... (2 Replies)
Discussion started by: iiiiiiiiiii
2 Replies

7. Shell Programming and Scripting

syntax error near unexpected token `='

Hi all, This is a script which converts hex to bin. However am finding an error while executing syntax error near unexpected token `=' `($hexfile, $binfile) = @ARGV;' I am running using ./fil.pl <hexfile> <binfile> ################################################### # # this script... (3 Replies)
Discussion started by: jaango123
3 Replies

8. UNIX for Advanced & Expert Users

syntax error near unexpected token '{

Hi, I am running the following script through cygwin and getting below mentioned error. ******************************************* #!/bin/sh # constants WORK_DIR="deploy" INFOFILE="deploy.info" INTROFILE="Intro.sh" CMGMT_PKG="com.kintana.cmgmt.deploy" DEPLOY_PREFIX="mitg" ... (2 Replies)
Discussion started by: MandyR
2 Replies

9. Shell Programming and Scripting

Syntax error near unexpected token `('

Guys , This is an output of my script errored out for "Syntax error near unexpected token `(' " Can someone tell me whats wrong with my script. Below is my original script pasted. #!/bin/bash Script Creation Date 01/21/2010 Author baraghun ... (7 Replies)
Discussion started by: raghunsi
7 Replies

10. Shell Programming and Scripting

sh syntax error unexpected token done

I'm getting the following error: line 21: syntax error near unexpected token `done` line 21: `done` and I haven't been able to figure out why. Here is my code #!/bin/sh if ; then echo 'Usage: rename getexp/replStr ' exit 0 fi arg = $1 shift while ; do (5 Replies)
Discussion started by: NullPointer
5 Replies
Login or Register to Ask a Question