awk reverse string


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk reverse string
# 1  
Old 05-06-2013
awk reverse string

Hello,
Can anyone explain for me in this script to reverse the string?
1) the "x=x" part, how it works?
Code:
$ echo welcome | awk '{ for(i=length;i!=0;i--)x=x substr($0,i,1);}END{print x}'
$ emoclew

2) x seems to be an array at the END, but can it automatically print the whole array in awk?
Thanks a lot!
YT
# 2  
Old 05-06-2013
"x" is not an array. x=x substr($0,i,1) means that substr($0,i,1) is appended to the variable x; x=x+something.
This User Gave Thanks to Subbeh For This Post:
# 3  
Old 05-06-2013
I see, and I am almost there to catch it.
# 4  
Old 05-06-2013
This reverse line by line
Code:
awk '{ for(i=length;i!=0;i--) x=(x substr($0,i,1))}{print x;x=""}'

No need to wait til END for the printing.
I did add parentheses to see what the x does x=(x substr($0,i,1))
It recreate the word by adding one and one letter in reverse order to the x

Value of x by run in loop
Code:
#0 x=""
#1 x=x+"e" x="e"
#2 x=x+"m" x="em"
#3 x=x+"o" x="emo"
etc

This User Gave Thanks to Jotne For This Post:
# 5  
Old 05-06-2013
If you want to reverse a string, here is the best way:
Code:
$ echo welcome | rev
emoclew

These 2 Users Gave Thanks to hanson44 For This Post:
# 6  
Old 05-06-2013
And I see it works fine on multiple lines to Smilie
Code:
echo "toy
home" | rev
yot
emoh

If it cant be done with awk, its not worth doing it Smilie
This User Gave Thanks to Jotne For This Post:
# 7  
Old 05-06-2013
Thanks Hanson and Jotne!
I was aware of the rev cmd, but I was trying to catch the awk part. Thanks anyway.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to cut part of a string in reverse?

Hi, how to cut part of a string sing delimiter in reverse input file 1,2,st-pa-tr-01,2,3,4, 2,3,ff-ht-05,6,7,8 how can i obtain strings till st-pa-tr ff-ht i.e cutting the last part og string -01 and -05 Thanks & Regards Nivi edit by bakunin: changed thread title (typo) (3 Replies)
Discussion started by: nivI
3 Replies

2. Shell Programming and Scripting

To reverse a string

Hi All, I would like to know , how to reverse a given string example : Hi how are you Required Output: you are how HiThanks (7 Replies)
Discussion started by: santhoshks
7 Replies

3. Shell Programming and Scripting

Reverse of a string

Hi All, I have a String str="Manish". I would like to reverse it. I know the option to do this in bash is: echo "Manish" | rev but I have seen an alternate solution somewhere, which states that: str="Manish" echo $str | awk '{ for(i=length($0);i>=1;i--) printf("%s",substr($0,i,1));... (7 Replies)
Discussion started by: manishdivs
7 Replies

4. Shell Programming and Scripting

reverse string matching

Guys, I am trying to find a way to achieve this. I need to print /usr/local/apche/htdocs only from the string /usr/local/apache/htdocs/file.php using the regex. The below did not work. I know a solution with normal cut, I need a way to do this with the awk regex. awk '/+file.php/' (6 Replies)
Discussion started by: anilcliff
6 Replies

5. Programming

String reverse

Hi all, I jus wanna print string b after reversing it. but the out put is blank. My code snippet is below. :wall: int main() { char * a, * b; b = new char; a = new char; int len, le; le = 0; cout<< " enter your string \n"; cin>> a; len = strlen(a); for(int i =... (8 Replies)
Discussion started by: vineetjoshi
8 Replies

6. Shell Programming and Scripting

reverse a string based on else

I have a file like this: Dog Cat One ABCDEFGHIJ house Dog Cat Two ABCDEFGHIJ house Cat Cat One ABCDEFGHIJ house Cat Cat Two ABCDEFGHIJ house I want to look at $3 and if it says "Two" print out the line except reverse $4. Dog Cat One ABCDEFGHIJ house Dog Cat Two JIHGFEDCBA house ... (3 Replies)
Discussion started by: dcfargo
3 Replies

7. Shell Programming and Scripting

PerL Reverse the string.

Hi, I am very new to perl. My question: How i can reverse the given string using substr function but without using reverse function in perl? Anybody please help. thanks, -Lalit (3 Replies)
Discussion started by: email-lalit
3 Replies

8. Filesystems, Disks and Memory

shell program to reverse the string

pls help me in getting that program (1 Reply)
Discussion started by: saikiran
1 Replies

9. Shell Programming and Scripting

reverse string manipulation

How to get the reverse parsing work. I have a strings like aqw-wef-324-err.log wefd-324r-err.log efrt-4rfr.log . . i want to have string upto last hypen. aqw-wef-324 wefd-324r ... (1 Reply)
Discussion started by: senthilk615
1 Replies

10. Shell Programming and Scripting

string in reverse

Can we print any string in reverse order? For example: oracle 16294 1 0 Aug 11 ? 0:00 ora_reco_crepd oracle 16276 1 0 Aug 11 ? 0:19 ora_dbw0_crepd I need second last column from this output. (0:00 & 0:19). I can use awk print $2 after reversing the string. ... (4 Replies)
Discussion started by: malaymaru
4 Replies
Login or Register to Ask a Question