"unexpected end of file"


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers "unexpected end of file"
# 8  
Old 12-15-2011
I just try to simplify to be the clearest as possible.

lines in my file.txt look like that:
xxxxyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

where:
"xxxx" can be any number between 0000 and 9999 (but I don't need it),
"yyyyyyyyyy" is the string that I want to extract only if one of the 50 patterns is present in "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz".

"xxxx" are numbers,
"yyyyyyyyyy" and "zzzzzzzzzzzzzzzzzzzzz" can contain anything (number, letters, symbols).

The egrep and cut commands work individually.
# 9  
Old 12-15-2011
Code:
user@ubuntu:~/programs$ cat patterns 
pattern1
pattern2
pattern3
pattern50

Code:
user@ubuntu:~/programs$ cat file.txt
xxxxyyyyyyyyyypattern1
xxxxyyyyyyyyyypattern2
xxxxyyyyyyyyyypattern3
xxxxyyyyyyyyyypattern50

bash code:
  1. #! /bin/bash
  2.  
  3. while read line
  4. do
  5.     while read ptrn
  6.     do
  7.         echo $line | grep -q $ptrn
  8.         [ $? -eq 0 ] && echo $line | cut -c5-14
  9.     done < patterns
  10. done < file.txt

Code:
user@ubuntu:~/programs$ ./test.sh
yyyyyyyyyy
yyyyyyyyyy
yyyyyyyyyy
yyyyyyyyyy

# 10  
Old 12-15-2011
Quote:
Originally Posted by balajesuri
...
5. And please indent your script.
...
Hi.

The OP (and others) can kill two birds with one stone by using utilities like bashtidy, or simple token-counting (stacking-unstacking) codes:
Code:
#!/usr/bin/env bash

# @(#) s1	Demonstrate bashtidy.
# http://vps.arachnoid.com/linux/beautify_bash/

# Utility functions: print-as-echo, print-line-with-visual-space, debug.
# export PATH="/usr/local/bin:/usr/bin:/bin"
pe() { for _i;do printf "%s" "$_i";done; printf "\n"; }
pl() { pe;pe "-----" ;pe "$*"; }
db() { ( printf " db, ";for _i;do printf "%s" "$_i";done;printf "\n" ) >&2 ; }
db() { : ; }
C=$HOME/bin/context && [ -f $C ] && $C bashtidy list-shell-control-tokens

FILE=${1-data1}

pl " Input data file $FILE , tidied:"
cat $FILE |
bashtidy -

pl " Results:"
list-shell-control-tokens --type=style $FILE

exit 0

producing:
Code:
% ./s1

Environment: LC_ALL = C, LANG = C
(Versions displayed with local utility "version")
OS, ker|rel, machine: Linux, 2.6.26-2-amd64, x86_64
Distribution        : Debian GNU/Linux 5.0.8 (lenny) 
GNU bash 3.2.39
bashtidy - ( local: RepRev 1.2, ~/bin/bashtidy, 2011-03-26 )
list-shell-control-tokens - ( local: RepRev 1.11, ~/bin/list-shell-control-tokens, 2011-09-19 )

-----
 Input data file data1 , tidied:
Error: indent/outdent mismatch: 1.
#!/bin/sh
for A in file.txt
do
  egrep 'pattern1' ${A}.txt > ${A}_p1.temp
  egrep 'pattern2' ${A}.txt > ${A}_p2.temp
  for B in *_p*.temp
  do
    C=`basename ${B} .temp`
    D=`cut -c 5-15 ${C}`
    awk '{print '"${D}"',$0}' ${A}_p1.temp >> allresults.tab
    awk '{print '"${D}"',$0}' ${A}_p1.temp >> allresults.tab
  done
  exit;

-----
 Results:
  2 for ... in
  3 do
  6   for ... in
  7   do
 12   done
 Unbalanced: (do - done) count: 1

Note that bashtidy diagnoses the missing done as an indent/outdent error. For short codes (as many scripts are), that and the indentation are often enough to find the problem, and one gets a nicely indented script into the bargain.

The bashtidy utility is written in ruby and is available as noted in the demonstration script comments.

I think I have used it on ksh and zsh scripts, as long as they don't use features peculiar to those shells. I don't use a plain sh, but that's a very basic subset of bash, etc., so I am confident that it would work on sh scripts as well -- almost any Bourne-shell-family variant.

Best wishes ... cheers, drl
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

2. Shell Programming and Scripting

Error: "Syntax error; unexpected end of file"

Hello all, I am running a script to generate a report and mail it to an email address. When I am trying to validate whether the file is a 0 kb file, I am getting the below error. Error: "Syntax error; unexpected end of file" Any suggestions please? Code: #!/bin/sh .... (1 Reply)
Discussion started by: Pradeep_Raj
1 Replies

3. BSD

Keep getting error "-bash: ./.profile_z2: line 52: syntax error: unexpected end of file"

#!/bin/bash #-------------------------------------------------------- # Setup prompt # Author Zeeshan Mirza # Data: 06-08-2017 #-------------------------------------------------------- if then . ./.profile_custom_pre fi umask 022 set -o vi export EDITOR=vi export VISUAL=vi... (3 Replies)
Discussion started by: getzeeshan
3 Replies

4. Shell Programming and Scripting

Please identify "unexpected end of file" bug

This is a script I got off the web for transferring Safari's "reading list" to the Pocket app. I ran it in terminal with the command bash exportsafarireadinglist.sh and got syntax error: unexpected end of file. Thanks for any help! The code: #!/bin/bash # Script to export Safari's reading... (2 Replies)
Discussion started by: kdog126
2 Replies

5. Shell Programming and Scripting

Error"syntax error at line 15: `end of file' unexpected"

While i m running below code, it is giving me the error"syntax error at line 15: `end of file' unexpected". Pls let me know what is wrong here..i tried many ways, but no luck dbSID="SWQE" usrname="apps" password="Wrgthrk3" count=0 while do sqlplus $usrname/$password@$dbSID... (5 Replies)
Discussion started by: millan
5 Replies

6. Shell Programming and Scripting

Help with FTP Script which is causing "syntax error: unexpected end of file" Error

Hi All, Please hav a look at the below peice of script and let me know if there are any syntax errors. i found that the below peice of Script is causing issue. when i use SFTP its working fine, but there is a demand to use FTP only. please find below code and explain if anything is wrong... (1 Reply)
Discussion started by: mahi_mayu069
1 Replies

7. Shell Programming and Scripting

Help with error "syntax error: unexpected end of file"

Hi Techies, can anyone please debug the following Script and let me know what is going wrong here. im getting the following error #!/usr/bin/bash # ############################################################################################## # # Variables # #... (2 Replies)
Discussion started by: mahi_mayu069
2 Replies

8. Shell Programming and Scripting

"Unexpected end of file" on a very simple script!!!

Well, this is a very crazy issue, and I'm scratching my head to find a solution. This is a simple code to tranfer a file, in my main script I need to add a conditional statement (IF/THEN) like the below example: #!/bin/bash if ; then ftp -inv "192.168.1.10" << EOFTP user... (8 Replies)
Discussion started by: Lord Spectre
8 Replies

9. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

10. Shell Programming and Scripting

"unexpected end of file" when Iīm use EOF inside block if

I have a trouble in my script when i use EOF inside block if. If i use EOF whitout block if I donīt have problem. Guys any ideas? Sorry for my terrible English. #!/bin/sh set -xv HOST='ftp.fiction.com.br' USER='fictionuser' PASS='fictionpass' FILE='ftpteste.txt' busca=`find... (4 Replies)
Discussion started by: ricardo.ludwig
4 Replies
Login or Register to Ask a Question