Delimiter count in a string.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Delimiter count in a string.
# 1  
Old 10-20-2008
Question Delimiter count in a string.

Hi ,

I need to get the delimiter "-" count in a particular string.

string= SYS_NAME-123-S5-2008-10-20.LOG

the delimit "-" count is 5 .

Using sed or awk can I know the count ?

I have seen how to get the count for delimiter in a file but not a string Smilie

Thanks,
Priya
# 2  
Old 10-20-2008
Code:
echo "$mystring" | awk -F'-' '{ print NF }'

# 3  
Old 10-20-2008
but this is showing output as 6 instead of 5 ?Why is that so ?
# 4  
Old 10-20-2008
One approach in unix

Code:
> echo `echo "SYS_NAME-123-S5-2008-10-20.LOG" | tr "-" "\n" | wc -l` -1 | bc
5

# 5  
Old 10-20-2008
Or:

Code:
string=SYS_NAME-123-S5-2008-10-20.LOG ifs="$IFS" IFS=-
set -- $string; count=$(($#-1));IFS="$ifs"

The variable count contains the number of -'s.

With zsh:

Code:
count=$((${#${(s.-.)string}}-1))


Last edited by radoulov; 10-20-2008 at 11:26 AM..
# 6  
Old 10-20-2008
echo "SYS_NAME-123-S5-2008-10-20.LOG"|awk -F'-' '{ print NF-1 }'
# 7  
Old 10-20-2008
Thanks

The above methods are working ... ThanksSmilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Split files based on row delimiter count

I have a huge file (around 4-5 GB containing 20 million rows) which has text like: <EOFD>11<EOFD>22<EORD>2<EOFD>2222<EOFD>3333<EORD>3<EOFD>44<EOFD>55<EORD>66<EOFD>888<EOFD>9999<EORD> Actually above is an extracted file from a Sql Server with each field delimited by <EOFD> and each row ends... (8 Replies)
Discussion started by: amvip
8 Replies

2. Shell Programming and Scripting

Linux shell script to insert new lines based on delimiter count

The input file is a .dat file which is delimited by null (^@ in Linux). On a windows PC it looks something like this (numbers are masked with 1). https://i.imgur.com/nta2Gqp.jpg The entire file is in one row but it has multiple records - each record contains 80 fields i.e. there are 81 counts... (9 Replies)
Discussion started by: digitalnirvana
9 Replies

3. Shell Programming and Scripting

awk delimiter count if mismatched?

Hi all, I have a file where in it has lot of records in it. I have written below stuff to find the number of fields as shown below `awk -F '|' '{print NF-1}' file.txt| head -1` how do i proceed if in case any record in particular is having more number of delimiters, if it having??? what... (7 Replies)
Discussion started by: nikhil jain
7 Replies

4. Shell Programming and Scripting

Count delimiter(~|*) each row in a file and return 1 or 0

Hi I want to check delimiter in file. Delimiter in my file is ~|* sample of file : ABC~|*edgf~|*T1J333~|*20121130 ABC~|*sdaf~|*T1J333~|*20121130 ABC~|*fsdg~|*T1J333~|*20121130 ABC~|*dfsg~|*T1J333~|*20121130 in this i want to count number delimiter occur is 4 in each row if count is... (21 Replies)
Discussion started by: MOHANP12
21 Replies

5. Shell Programming and Scripting

Skip the delimiter with in double quotes and count the number of delimiters during data extract

Hi All, I'm stuck-up in finding a way to skip the delimiter which come within double quotes using awk or any other better option. can someone please help me out. Below are the details: Delimited: | Sample data: 742433154|"SYN|THESIS MED CHEM PTY.... (2 Replies)
Discussion started by: BrahmaNaiduA
2 Replies

6. Shell Programming and Scripting

Delimiter count

Hi I wrote shell script for count the deleimeters and send it to reject file which are exeeseding number of count. But script is not working properly... Can you please check the below script and modify it as required. ex : 1,abc 2,mno 3,pqr 4,xyz,error As per the requiredment last... (3 Replies)
Discussion started by: victory
3 Replies

7. Shell Programming and Scripting

how to cut all string after the last delimiter?

hi all, suppose a string: abc/def/ghi/jkl/mn.txt and i want to get the file name without the path. however, different files have different paths, therefore the number of delimiter is uncertain. thanks so much! (3 Replies)
Discussion started by: sunnydanniel
3 Replies

8. Shell Programming and Scripting

How to split a string with no delimiter

Hi; I want to write a shell script that will split a string with no delimiter. Basically the script will read a line from a file. For example the line it read from the file contains: 99234523 These values are never the same but the length will always be 8. How do i split this... (8 Replies)
Discussion started by: saint34
8 Replies

9. Shell Programming and Scripting

Count delimiter and replace

Hi, I have below sample data file. I want to count the delimiter no of times repeated and replace with new line characters. The new line characters appear somtimes in between of the records and end of the record: input file: jack;1500;manager;boston\n jim;2000;\n developer;texas\n... (7 Replies)
Discussion started by: dsubha
7 Replies

10. Shell Programming and Scripting

creating a delimiter string

hi i have a function printValues() { var=$# count=0 qName="" while do if then echo QManager Name $1 fi if then echo Cluster Name$2 fi if (( $count != 0 && $count != 1 )) then ... (0 Replies)
Discussion started by: satish@123
0 Replies
Login or Register to Ask a Question