How to replace the string with "*" in Perl?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to replace the string with "*" in Perl?
# 1  
Old 07-12-2011
How to replace the string with "*" in Perl?

Hi,

I have a string like this:

Code:
$str = "hello worlds";

The string should be replaced by "*". For example if the word is "Hello" it should be replaced by 5 stars in vertical way as mentioned in the below output. Similarly for worlds should be replaced by 6 stars.

The output should be like this:
Code:
* *
* *
* *
* *
* *
  *

How can i do it in a Perl?

Regards
Vanitha
# 2  
Old 07-12-2011
Is that assignment ?
# 3  
Old 07-12-2011
Got this so far, not completely what u want i think

PHP Code:
#!/usr/bin/perl
use warnings;

my $str "hello worlds";
my @newstr=split(/ /,$str);

        foreach 
$line (@newstr) {
                
$mystring $line;
                @
mylenght length($mystring);

                        foreach (@
mylenght) {
                                print 
"*\n" x$_."\n";
                }
                } 
# 4  
Old 07-12-2011
Code:
$ cat output.abc
*       *       
*       *       
*       *       
*       *       
*       *       
        *       
$ cat test.ksh
for i in Hello Wolrds; do echo "$i" | fold -w1 | sed 's/./*/' > $i.abc; done
paste *.abc > output.abc

# 5  
Old 07-12-2011
Wrench

Quote:
Originally Posted by maskofzorro
Got this so far, not completely what u want i think

PHP Code:
#!/usr/bin/perl
use warnings;

my $str "hello worlds";
my @newstr=split(/ /,$str);

        foreach 
$line (@newstr) {
                
$mystring $line;
                @
mylenght length($mystring);

                        foreach (@
mylenght) {
                                print 
"*\n" x$_."\n";
                }
                } 
Hi,

The output should not be like this:
Code:
*
*
*
*
*

*
*
*
*
*
*

Say for example: Hi I am vanitha (Hi 2 starts, I one stars, am 2 stars and vanitha 7 stars)
Output:
Code:
* * *    *
*   *    *
         *
         *
         *
         *
         *

In this fashion only output should appear
# 6  
Old 07-12-2011
Code:
# echo "Hi I am vanita" | sed 's/[^ ]/*/g'| awk '{for(i=0;++i<=NF;) {A[i]=$i;l=length($i);m=(m<l)?l:m}}END{format="%-" m "." m "s" RS;while(++j in A) printf format,A[j]}' |fold -w1 | pr -4ts" "
* * * *
*   * *
      *
      *
      *
      *

# 7  
Old 07-12-2011
Code:
perl -e '$str = "hello worlds lk lklolll";
@a=split (/ /,$str);
foreach (@a){
@w=split(/x*/,$_);
++$q;
$p=0;
foreach (@w){
$o{$q}{++$p}=$_;
}
$n=$n>$p?$n:$p};
for($i=1;$i<=$n;$i++){
for($j=1;$j<=$q;$j++){
$v=(exists($o{$j}{$i})?$o{$j}{$i}:" ");$v=~s/\w/*/;
print $v}
print "\n";
}'
****
****
** *
** *
** *
 * *
   *

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Delete all log files older than 10 day and whose first string of the first line is "MSH" or "<?xml"

Dear Ladies & Gents, I have a requirement to delete all the log files in /var/log/test directory that are older than 10 days and their first line begin with "MSH" or "<?xml" or "FHS". I've put together the following BASH script, but it's erroring out: for filename in $(find /var/log/test... (2 Replies)
Discussion started by: Hiroshi
2 Replies

2. Shell Programming and Scripting

Replace a "space" for a string in while loop

I'm doing a curl sweep on a list of URLs in a .txt. Some of the URLs may have a "space" in them- which is OK for the browser (it throws in a %20), but not OK in bash. With my curl check, I need it to replace a "space" with a "%20" I was thinking about using the tr command but I don't know where... (7 Replies)
Discussion started by: sudo
7 Replies

3. Shell Programming and Scripting

grep with "[" and "]" and "dot" within the search string

Hello. Following recommendations for one of my threads, this is working perfectly : #!/bin/bash CNT=$( grep -c -e "some text 1" -e "some text 2" -e "some text 3" "/tmp/log_file.txt" ) Now I need a grep success for some thing like : #!/bin/bash CNT=$( grep -c -e "some text_1... (4 Replies)
Discussion started by: jcdole
4 Replies

4. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

5. Shell Programming and Scripting

Replace file name on certain "changeable string"

Dear all, I can use the following script to remove certain strings of my filename. for filename in `find . -name *blah*`; do new_name=`echo $filename | sed -e "s/blah//g" $filename` mv $filename $new_name done What if i had file names below and i wish to sed only certain part of... (5 Replies)
Discussion started by: ymeyaw
5 Replies

6. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

7. Shell Programming and Scripting

Script to search a string which is in between "" and replace it with another character

Hi, I am trying to search a string from a text file which is in between "" (Double Quotes) (Eg: "Unix"), and replace it with a | where ever it is appearing in the text file and save the file. Please help me. -kkmdv (6 Replies)
Discussion started by: kkmdv
6 Replies

8. Shell Programming and Scripting

input string="3MMTQSZ348GGMZRQWMJM4SD6M";output string="3MMTQ-SZ348-GGMZR-QWMJM-4SD6

input string="3MMTQSZ348GGMZRQWMJM4SD6M" output string="3MMTQ-SZ348-GGMZR-QWMJM-4SD6M" using linux shell script (4 Replies)
Discussion started by: pankajd
4 Replies

9. Shell Programming and Scripting

Replace a blank space with string "\\ "

Hi, I have a requirement to replace a every blank space with char "\\ ". Like string "God Love" to "God\\ Love" and "God Love" as "God\\ \\ Love". and only in the sed. We have already a script but it is replaceing all continuous blank space with one "\\ ". which is as DIR=`sudo echo... (7 Replies)
Discussion started by: Akshay4u
7 Replies

10. Shell Programming and Scripting

Failed to replace string with "sed"

Hi folks, I have the following configuration file: tofu:/tmp # cat bitbandConfig.properties maestroIp=10.10.10.10 maestroPort=2020 adminPlayPath=<Streaming Agent IP>:2021/streamingGateway/GetPlayList ###This part should not be changed### adminPlayVODProtocol=http username=iptv... (7 Replies)
Discussion started by: nir_s
7 Replies
Login or Register to Ask a Question