Sponsored Content
Full Discussion: Problem with Substring
Top Forums Shell Programming and Scripting Problem with Substring Post 302252555 by cfajohnson on Wednesday 29th of October 2008 08:24:29 PM
Old 10-29-2008
Quote:
Originally Posted by manmeet
Hi,
i have a file from which i extracted 2nd column and put it into a variable Acct_Num . Now i need to extract first 3 digits from it and save in to other variable.
My Code is:

Please put code inside [code] tags.
Quote:
Code:
 
  while read Record1
do
 Acct_Num=`echo $Record1 | awk '{print $2 }'`
 ID=`echo $Record1 | awk '{print substr($Acct_Num, 1, 3 ) }`


The immediate problem is that a shell variable is not expanded inside single quotes. You can pass a variable to awk with -v:

Code:
awk -v Acct_Num="$Acct_Num" '{print substr(Acct_Num, 1, 3 ) }'

The other problem is that your script will run excruciatingly slowly because you are calling awk twice for every line of the file.

Instead of using a shell loop, let awk do all the work:

Code:
awk '{
  printf "AcctNum is %s\n", $2
  printf "ID is %s\n", substr($2,1,3)
   }' "$REGSeqFileName"

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How do I Substring ??

Hello everyone. I'm writing a script in UNIX. The purpose is to get the second character from a variable that stores the system year. This is the code: unix_year_yy=`date "+%g"` This will return "07" in variable unix_year_yy. How can I get the second character (7)?? (6 Replies)
Discussion started by: Rigger
6 Replies

2. UNIX for Dummies Questions & Answers

problem extracting substring in korn shell

hi all, I have read similiar topics in this board, but i didn' t find the posting which is the same with the problem i face.. I try to extract string from the end. i try to do this: num=abcdefghij num2=${num:-5} echo $num2 #this should print the last 5 characters (fghij) but it doesn;t... (3 Replies)
Discussion started by: nashrul
3 Replies

3. Shell Programming and Scripting

substring

Dear All, i have a file that contains, FROM_DATE: 06-08-2007 00:00:00 TO_DATE: 06-08-2007 23:59:59 Total number of lines: 6874154 in another file,the contain is, FROM_DATE: 06-08-2007 00:00:00 Total number of lines: 874154 alltime i want to find the particular string... (4 Replies)
Discussion started by: panknil
4 Replies

4. Shell Programming and Scripting

Substring HELP!

Hi, I am trying to do something which I thought was very simple but still being a beginner, has proved not to be. Input: val1 val2 val3 val4 val5 val6 . . . etc Desired Output: Every row in which value of val6 is a number starting with 0.0 or contains a capital E. The input... (2 Replies)
Discussion started by: awknerd
2 Replies

5. Shell Programming and Scripting

Substring problem

I have a file which comes with a few tags and some contents inside them. eg: <ABC>Hello Unix.com</ABC> <XYZ>WWSHF</XYZ> Now I want to pick out the contents in between the tags <ABC> and </ABC>. The contents within <ABC> and </ABC> spans more than one line. So greping and cutting is not an... (4 Replies)
Discussion started by: Rajat
4 Replies

6. UNIX for Dummies Questions & Answers

Need help with substring

I need to check the occurrence of one string within another. code ******************** if ;then do something done ******************** Thanks (7 Replies)
Discussion started by: w020637
7 Replies

7. Shell Programming and Scripting

Get the substring

Hi All, I have a ouput string likes 'u8wos' or 'u10acsd' or somthing else 'u{number}{any characters}'and I want to get the number behind the letter 'u' by bash shell. Thanks Damon (11 Replies)
Discussion started by: Damon_Qu
11 Replies

8. Shell Programming and Scripting

KSH: A PROBLEM awk SUBSTRING

Hi Gurus, I am working with a korn shell script to simplify some operations of creation file of spool for a Bulk-Copy. Thi is my code: In a for cycle: gzcat ${file} |awk '{ print substr($0,1,5)";"substr($0,108,122)";"substr($0,124,131)";"substr($0,139,152)";"substr($0,154,163)";"}' >>... (6 Replies)
Discussion started by: GERMANICO
6 Replies

9. Shell Programming and Scripting

Substring

Hi All, In ksh, am trying to get a substring stuff done. Not sure where the problem is.. can you guys guide me on this... for instance, var1=41, and var2=4175894567, then i want to know whether var2 starts with var1.. var1 and var2 can be of any length.. VAR1=41 VAR2=419068567777... (6 Replies)
Discussion started by: nram_krishna@ya
6 Replies

10. Shell Programming and Scripting

Substring Problem with sed . . .

Greetings. I'm looking to isolate the first occurrence of an arbitrary substring which may be present at any particular line in a given file. The enclosing end markers for the target in our thought problem are string" and ". The complete string and surrounding text could look something like... (3 Replies)
Discussion started by: LinQ
3 Replies
MU-EXTRACT(1)						      General Commands Manual						     MU-EXTRACT(1)

NAME
mu_extract - display and save message parts (attachments), and open them with other tools. SYNOPSIS
mu extract [options] <file> mu extract [options] <file> <pattern> DESCRIPTION
mu extact is the mu sub-command for extracting MIME-parts (e.g., attachments) from mail messages. It works on message files, and does not require the message to be indexed in the database. For attachments, the file name used when saving it, is the name of the attachment in the message. If there is no such name, or when saving non-attachment MIME-parts, a name is derived from the message-id of the message. If you specify a pattern (a case-insensitive regular expression) as the second argument, all attachments with filenames matching that pat- tern will be extracted. The regular expressions are Perl-compatible (as per the PCRE-library). Without any options, mu extract simply outputs the list of leaf MIME-parts in the message. Only 'leaf' MIME-parts (including RFC822 attach- ments) are considered, multipart/* etc. are ignored. OPTIONS
-a, --save-attachments save all MIME-parts that look like attachments. --save-all save all non-multipart MIME-parts. --parts=<parts> only consider the following numbered parts (comma-separated list).The numbers for the parts can be seen from running mu extract without any options but only the message file. --target-dir=<dir> save the parts in the target directory rather than the current working directory. --overwrite overwrite existing files with the same name; by default overwriting is not allowed. --play Try to 'play' (open) the attachment with the default application for the particular file type. On MacOS, this uses the open program, on other platforms is uses xdg-open. You can choose a different program by setting the MU_PLAY_PROGRAM environment variable. EXAMPLES
To display information about all the MIME-parts in a message file: $ mu extract msgfile To extract MIME-part 3 and 4 from this message, overwriting existing files with the same name: $ mu extract --parts=3,4 --overwrite msgfile To extract all files ending in '.jpg' (case-insensitive): $ mu extract msgfile '.*.jpg' To extract an mp3-file, and play it in the the default mp3-playing application. $ mu extract --play msgfile 'whoopsididitagain.mp3' BUGS
Please report bugs if you find them: http://code.google.com/p/mu0/issues/list AUTHOR
Dirk-Jan C. Binnema <djcb@djcbsoftware.nl> SEE ALSO
mu(1) User Manuals February 2012 MU-EXTRACT(1)
All times are GMT -4. The time now is 10:44 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy