Visit Our UNIX and Linux User Community


awk to split string


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk to split string
# 1  
Old 08-30-2009
awk to split string

Hello Friends,

Im trying to split a string. When i use first method of awk like below i have an error:

method1 (I specified the FS as ":" so is this wrong?)
Code:
servert1{root}>awk -f split.txt 
awk: syntax error near line 2
awk: bailing out near line 2

split.txt:
Code:
myString="apple:orange:banana";
split(myString,fruits,":");
print fruits[1];
print fruits[2];
print fruits[3];

method2 (when i run command without calling text file it does not response just waits Smilie )
Code:
awk '{split("apple:orange:banana",fruits,":")} END{print fruits[1],fruits[2],fruits[3]}'

pls help me to find out what is wrong with the commands

Last edited by EAGL€; 08-30-2009 at 03:09 PM.. Reason: i forgot to type ")"
# 2  
Old 08-30-2009
Code:
awk 'BEGIN{split(ARGV[1],fruits,":");print fruits[1],fruits[2],fruits[3]}' "apple:orange:banana"

# 3  
Old 08-30-2009
Danmero i tested but it gave error
Code:
awk: can't open apple:orange:banana

but you gave me the idea adding BEGIN and a ";" after closing the phranthesis and it worked
Code:
awk 'BEGIN{split("apple:orange:banana",fruits,":"); print fruits[1],fruits[2],fruits[3]}'
apple orange banana

thnx
# 4  
Old 08-30-2009
hi ppl,
I have a basic doubt as to how shell treats strings.
e.g:given a line of data like this "5","6","45","77","89"
extracting the value from each field to a variable will conatin a string("5") or just the number?
If it conatins "5", how do we perform mathematical operations with that variable?
# 5  
Old 08-30-2009
Quote:
Originally Posted by beetel
hi ppl,
I have a basic doubt as to how shell treats strings.
e.g:given a line of data like this "5","6","45","77","89"
extracting the value from each field to a variable will conatin a string("5") or just the number?
If it conatins "5", how do we perform mathematical operations with that variable?
Beetel you should create a new thread for your question as it is not related to this thread. I'd recommend you to read forum rules and stroll around here to find out about the forum..
# 6  
Old 08-30-2009
oops sorry! beginner...

Previous Thread | Next Thread
Test Your Knowledge in Computers #129
Difficulty: Easy
The original Linux source code was developed by Linus Torvalds and the GNU Foundation.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Using awk to split a string

Hey guys, I've been trying to find an answer to this, and I've been reading up on awk as much as possible, but I'm at a loss at the moment. I'll start off by saying I'm trying to learn, so forgive me if I ask questions about your answers. Here is what I'm trying to accomplish. I have a long... (8 Replies)
Discussion started by: ShadowBlade72
8 Replies

2. Shell Programming and Scripting

Need HELP with AWK split. Need to check for "special characters" in string before splitting the file

Hi Experts. I'm stuck with the below AWK code where i'm trying to move the records containing any special characters in the last field to a bad file. awk -F, '{if ($NF ~ /^|^/) print >"goodfile";else print >"badfile"}' filename sample data 1,abc,def,1234,A * 2,bed,dec,342,* A ... (6 Replies)
Discussion started by: shell_boy23
6 Replies

3. Shell Programming and Scripting

sed or awk command to replace a string pattern with another string based on position of this string

here is what i want to achieve... consider a file contains below contents. the file size is large about 60mb cat dump.sql INSERT INTO `table1` (`id`, `action`, `date`, `descrip`, `lastModified`) VALUES (1,'Change','2011-05-05 00:00:00','Account Updated','2012-02-10... (10 Replies)
Discussion started by: vivek d r
10 Replies

4. Shell Programming and Scripting

awk to split one field and print the last two fields within the split part.

Hello; I have a file consists of 4 columns separated by tab. The problem is the third fields. Some of the them are very long but can be split by the vertical bar "|". Also some of them do not contain the string "UniProt", but I could ignore it at this moment, and sort the file afterwards. Here is... (5 Replies)
Discussion started by: yifangt
5 Replies

5. Shell Programming and Scripting

split string

Hi I am facing a problem in spitting a string. Here is the string -------------------- subject1=10;subject2=30;subject3=40;subjectcode=10001;... Now, I want only marks not the subject code. (there can be 'n' subjects) ie. 10 30 40 My doubt ---------- How do I... (5 Replies)
Discussion started by: jionnet
5 Replies

6. Shell Programming and Scripting

awk: split a file using a string problems

Hi, if i use this code awk '/String/{n++}{print > f n}' f=file input I get "input" splited this way file1 String 1515 1354 2356 file 2 String 4531 0345 5345 (3 Replies)
Discussion started by: aloctavodia
3 Replies

7. Shell Programming and Scripting

split the string

I need to split the string msu1_2 It should be generic for any string of the form msu<digits>_<digits> so that i get $X =1 and $Y = 2 Please help Thanks (5 Replies)
Discussion started by: asth
5 Replies

8. Shell Programming and Scripting

Split A String

Hi, I am new to scripting and need help splitting a string using space as the delimiter. How can I do that? I want the result to be stored in an Array. I tried using set -A arr $(echo $FILE) echo $arr The result of the above was ''. Thanks. (2 Replies)
Discussion started by: newbie187
2 Replies

9. UNIX for Dummies Questions & Answers

Split a file with no pattern -- Split, Csplit, Awk

I have gone through all the threads in the forum and tested out different things. I am trying to split a 3GB file into multiple files. Some files are even larger than this. For example: split -l 3000000 filename.txt This is very slow and it splits the file with 3 million records in each... (10 Replies)
Discussion started by: madhunk
10 Replies

10. Shell Programming and Scripting

split a string

Hi I have a script that loops though lines of a file and reads each line in to a variable ($LINE). I want to look at the line and split it into it's constituent parts. e.g. a line might be "This is a string" I want to then have variables set to each element thus: A=This B=is C=a... (3 Replies)
Discussion started by: gazingdown
3 Replies

Featured Tech Videos