To reverse a string


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting To reverse a string
# 1  
Old 10-15-2012
CPU & Memory To reverse a string

Hi All,

I would like to know , how to reverse a given string

example :
Code:
Hi how are you

Required Output:
Code:
you are how Hi

Thanks

Last edited by radoulov; 10-15-2012 at 07:58 AM..
# 2  
Old 10-15-2012
try using awk , for and NF....Smilie
# 3  
Old 10-15-2012
This thread might help you:
https://www.unix.com/shell-programmin...sh-cshell.html
The last post in this thread should be interesting.

And, for this particular example, try:
Code:
perl -e '$str="Hi how are you";
while($str =~ /.*(\b\w+\b)/) { print $1," ";$str =~ s/(.*)(\b\w+\b)/\1/} print "\n"'

producing
Code:
you are how Hi


Last edited by elixir_sinari; 10-15-2012 at 07:32 AM..
# 4  
Old 10-15-2012
Thank you , it s working..
Code:
awk '{ for (i=NF;i>=1;i--) { if(s!= ""){s=s" "$i}else{ s=$i  }} {print s;s=""}}' file

but i dint understand this part
if(s!= ""){s=s" "$i}else{ s=$i }} {print s;s=""}}... can you pls explain ?

Moderator's Comments:
Mod Comment Please use code tags next time for your code and data.

Last edited by radoulov; 10-15-2012 at 07:57 AM..
# 5  
Old 10-15-2012
Quote:
Originally Posted by santhoshks
Thank you , it s working..
awk '{ for (i=NF;i>=1;i--) { if(s!= ""){s=s" "$i}else{ s=$i }} {print s;s=""}}' file

but i dint understand this part
if(s!= ""){s=s" "$i}else{ s=$i }} {print s;s=""}}... can you pls explain ?
awk perform operations line by line.
At first line we have no defined s yet. so just we check is s present or not.
Code:
if(s!= "")   # Check here s present or not if s presents the append next character to it. here you also can use if(s)
{s=s" "$i} # Here we do append part. All the words are appended in reverse manner.
else{ s=$i  }} # here we initialize s. s=$NF
{print s;s=""}} # and at the lat after end of for loop we print final s(which is reversed output of the input line) and make s="" ready to to next line

Hope this helps youSmilie
# 6  
Old 10-15-2012
Code:
echo "you are how Hi" | awk 'BEGIN{RS=" ";ORS=" "}{arr[NR-1]=$1;num++}END{for (i=num-1;i>=0;i--)print arr[i]}'

This User Gave Thanks to codemaniac For This Post:
# 7  
Old 10-15-2012
what is "s" actually ?
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

awk reverse string

Hello, Can anyone explain for me in this script to reverse the string? 1) the "x=x" part, how it works? $ echo welcome | awk '{ for(i=length;i!=0;i--)x=x substr($0,i,1);}END{print x}' $ emoclew2) x seems to be an array at the END, but can it automatically print the whole array in awk? Thanks... (8 Replies)
Discussion started by: yifangt
8 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