get substr?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting get substr?
# 1  
Old 03-28-2008
get substr?

Hi,
I have a long string like,

aabab|bcbcbcbbc|defgh|paswd123 dedededede|efef|ghijklmn|paswd234 ghghghghgh|ijijii|klllkkk|paswd345 lmlmlmmm|nononononn|opopopopp|paswd456

This string is devided into one space between substrings. This substrings are,

aabab|bcbcbcbbc|defgh|paswd123
dedededede|efef|ghijklmn|paswd234
ghghghghgh|ijijii|klllkkk|paswd345
lmlmlmmm|nononononn|opopopopp|paswd456

Now i want to get paswd234 by searching corresponding ghijklmn
similarly want to get paswd345 by searching corresponding klllkkk

But above long string is dynamic, means may be some more substrings can add to this long string or may be some substrings can be removed from this long string.
could any one pls help me in this.
Thanks in advance.
# 2  
Old 03-28-2008
Forgot to mention one thing, In this long string

aabab|bcbcbcbbc|defgh|paswd123 dedededede|efef|ghijklmn|paswd234 ghghghghgh|ijijii|klllkkk|paswd345 lmlmlmmm|nononononn|opopopopp|paswd456

sometimes paswd234(8 chars) length may get change to less or more of 8 chars. Means the long string may be like,

aabab|bcbcbcbbc|defgh|passwd123 dedededede|efef|ghijklmn|pasd234 ghghghghgh|ijijii|klllkkk|pd345 lmlmlmmm|nononononn|opopopopp|passswwd456
# 3  
Old 03-28-2008
Quote:
Originally Posted by syamkp
Hi,
I have a long string like,

aabab|bcbcbcbbc|defgh|paswd123 dedededede|efef|ghijklmn|paswd234 ghghghghgh|ijijii|klllkkk|paswd345 lmlmlmmm|nononononn|opopopopp|paswd456

This string is devided into one space between substrings. This substrings are,

aabab|bcbcbcbbc|defgh|paswd123
dedededede|efef|ghijklmn|paswd234
ghghghghgh|ijijii|klllkkk|paswd345
lmlmlmmm|nononononn|opopopopp|paswd456

Now i want to get paswd234 by searching corresponding ghijklmn
similarly want to get paswd345 by searching corresponding klllkkk
Do you want password for ghijklmn and klllkkk alone or do you want all the passwords ?

For all passwords

Code:
tr ' ' '\n' < input.txt | sed -n -e "s/.*|\(.*\)/\1/p"


Last edited by vino; 03-28-2008 at 05:36 AM..
# 4  
Old 03-28-2008
Thanks for your solution Vino,

I want pasword for individual. Actually i will give only one search string and want to fetch corresponding pasword for one execution of the command.

for example,
the search string is ghijklmn
and i want corresponding pasword.
# 5  
Old 03-28-2008
Then modify the sed script to only print when that particular key is matched.
# 6  
Old 03-28-2008
Quote:
Originally Posted by syamkp
Thanks for your solution Vino,

I want pasword for individual. Actually i will give only one search string and want to fetch corresponding pasword for one execution of the command.

for example,
the search string is ghijklmn
and i want corresponding pasword.
Code:
string=ghijklmn
sed -n -e "s/.*${string}|\([^ ]*\) .*/\1/p" input.txt

But I think you would be better off with this sed statement and the above tr statement. Lest you dont run into a command too long.
# 7  
Old 03-31-2008
Thanks for your replies vino
your command is working fine.
but i am sorry, i didnt give correct input string. it is like,

aab.a0b|bcbc1bcbbc|de_f2gh|paswd123 dede.ded.ede|ef_ef|ghi_jklm0n|paswd234 gh.ghgh.ghgh|ijijii|k_ll4lkkk|paswd345 lml.mlmmm|nononononn|op_opop_opp0|paswd456

This string is having . and _ so couldnt get result for me.
can you pls take the above string as an input string and can you give the command.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Substr

awk '/^>/{id=$0;next}length>=7 { print id, "\n"$0}' Test.txt Can I use substr to achieve the same task? Thanks! (8 Replies)
Discussion started by: Xterra
8 Replies

2. Shell Programming and Scripting

HELP : awk substr

Hi, - In a file test.wmi Col1 | firstName | lastName 4003 | toto_titi_CT- | otot_itit - I want to have only ( colones $7,$13 and $15) with code 4003 and 4002. for colone $13 I want to have the whole name untill _CT- or _GC- 1- I used the command egrep with awk #egrep -i... (2 Replies)
Discussion started by: georg2014
2 Replies

3. Shell Programming and Scripting

How to use if/else if with substr?

I have a command like this: listdb ID923 -l |gawk '{if (substr($0,37,1)==1 && NR == 3)print "YES" else if (substr ($0,37,1)==0 && NR == 3) print "NO"}' This syntax doesn't work. But I was able to get this to work: listdb ID923 -l |gawk '{if (substr($0,37,1)==1 && NR == 3)print "YES"}' ... (4 Replies)
Discussion started by: newbie2010
4 Replies

4. Shell Programming and Scripting

awk substr

Hello life savers!! Is there any way to use substr in awk command for returning one part of a string from declared start and stop point? I mean I know we have this: substr(string, start, length) Do we have anything like possible to use in awk ? : substr(string, start, stop) ... (9 Replies)
Discussion started by: @man
9 Replies

5. UNIX for Dummies Questions & Answers

substr

can anybody explain this code? thanks in advance..:) (6 Replies)
Discussion started by: janani_kalyan
6 Replies

6. UNIX for Dummies Questions & Answers

substr of a file

Hi, i'm a newbie and i don't know unix... I'm a dba oracle. I need to cat the content of a file like this: > ps -eaf|grep pmon oracle 221422 1 0 Sep 17 - 7:20 ora_pmon_ORCL oracle 405626 1 0 Sep 17 - 8:39 ora_pmon_ORCL1 oracle 491534 1 0 ... (3 Replies)
Discussion started by: davyp74
3 Replies

7. UNIX for Dummies Questions & Answers

substr of a file

.wysiwyg { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #f5f5ff; PADDING-BOTTOM: 0px; MARGIN: 5px 10px 10px; FONT: 10pt verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; COLOR: #000000; PADDING-TOP: 0px } .wysiwyg A:link { COLOR: #22229c } .wysiwyg_alink { COLOR:... (1 Reply)
Discussion started by: davyp74
1 Replies

8. Shell Programming and Scripting

substr not working

Hi I am trying to run this command in ksh ...its not working $line="123356572867116w1671716" actual_length = 16 cut_line=`awk 'BEGIN{print substr(ARGV,1,actual_length)}' "$line"` the substr is not giving me an output how can i make it done can anyone hwlp me on this cut_line=`awk... (2 Replies)
Discussion started by: pukars4u
2 Replies

9. UNIX for Dummies Questions & Answers

Substr

Hi, My input file is 41;2;xxxx;yyyyy.... 41;2;xxxx;yyyyy.... 41;2;xxxx;yyyyy.... .. .. I need to change the second field value from 2 to 1. i.e., 41;1;xxxx;yyyyy.... 41;1;xxxx;yyyyy.... 41;1;xxxx;yyyyy.... .. .. Thanks in advance. (9 Replies)
Discussion started by: deepakwins
9 Replies

10. Shell Programming and Scripting

Using substr

What is the more efficient way to do this (awk only and default FS) ? $ echo "jefe@alm"|awk '{pos = index($0, "@");printf ("USER: %s\n",substr ($0,1,pos-1))}' USER: jefe Thx in advance (2 Replies)
Discussion started by: Klashxx
2 Replies
Login or Register to Ask a Question