Problem with printing the strings


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem with printing the strings
# 1  
Old 02-23-2012
Problem with printing the strings

hello all,

I am novice to shell scripting and need your help guys.I have a file called myfile.txt and its contents are shown below :
Code:
<project name="device/samsung/crespo" revision="c932ac3b9f8a53a5c433dc7d3cfa2fb5d45a7eb9"/>
  <project name="device/samsung/crespo4g" revision="045aa104f257fdf0946d28e2dcaab549d3bbeaa9"/>
  <project name="device/samsung/maguro" revision="185f51cd2d009e45ae7aa7d8c5ee2de0bda90d33"/>
  <project name="platform/packages/wallpapers/MusicVisualization" path="packages/wallpapers/MusicVisualization" revision="576359ce60d2e0ef8205737570c647c29e3fe922"/>
  <project name="platform/packages/wallpapers/NoiseField" path="packages/wallpapers/NoiseField" revision="4154cea31097a003bdceb9e50f4d69e3ec50e223"/>
  <project name="platform/packages/wallpapers/PhaseBeam" path="packages/wallpapers/PhaseBeam" revision="5cc9b223bc9aa7c45bbb995ab1648286f8d04bbe"/>

Now I want the expected out in different file.You can name this file as output.txt
Output should look like this :

Code:
project device/samsung/crespo c932ac3b9f8a53a5c433dc7d3cfa2fb5d45a7eb9
project device/samsung/crespo4g 045aa104f257fdf0946d28e2dcaab549d3bbeaa9
project device/samsung/maguro
185f51cd2d009e45ae7aa7d8c5ee2de0bda90d33
project packages/wallpapers/MusicVisualization 576359ce60d2e0ef8205737570c647c29e3fe922
project packages/wallpapers/NoiseField 4154cea31097a003bdceb9e50f4d69e3ec50e223
project packages/wallpapers/PhaseBeam 5cc9b223bc9aa7c45bbb995ab1648286f8d04bbe


So far I could do only this :

Code:
awk -F'"' '{print $4"\n" $6"\n"}' myfile.txt >output.txt

But I am not getting the output which is shown above.Let me know how can I do this using a shell script.Should I use if then else or while or should I use grep or find.Let me know.I am messed up with this.

Thank you.
# 2  
Old 02-23-2012
A small change to what you did:

Code:
awk -F'"' '{print $2, $4, $6}'  myfile.txt

Guru.
This User Gave Thanks to guruprasadpr For This Post:
# 3  
Old 02-23-2012
But the output I am getting is this :
Code:
device/samsung/crespo c932ac3b9f8a53a5c433dc7d3cfa2fb5d45a7eb9 
device/samsung/crespo4g 045aa104f257fdf0946d28e2dcaab549d3bbeaa9 
device/samsung/maguro 185f51cd2d009e45ae7aa7d8c5ee2de0bda90d33 
platform/packages/wallpapers/MusicVisualization packages/wallpapers/MusicVisualization 576359ce60d2e0ef8205737570c647c29e3fe922
platform/packages/wallpapers/NoiseField packages/wallpapers/NoiseField 4154cea31097a003bdceb9e50f4d69e3ec50e223
platform/packages/wallpapers/PhaseBeam packages/wallpapers/PhaseBeam 5cc9b223bc9aa7c45bbb995ab1648286f8d04bbe

This is not the expected output. I have already shown the expected output above.
I am expecting this :

Code:
project device/samsung/crespo c932ac3b9f8a53a5c433dc7d3cfa2fb5d45a7eb9
project device/samsung/crespo4g 045aa104f257fdf0946d28e2dcaab549d3bbeaa9
project device/samsung/maguro
185f51cd2d009e45ae7aa7d8c5ee2de0bda90d33
project packages/wallpapers/MusicVisualization 576359ce60d2e0ef8205737570c647c29e3fe922
project packages/wallpapers/NoiseField 4154cea31097a003bdceb9e50f4d69e3ec50e223
project packages/wallpapers/PhaseBeam 5cc9b223bc9aa7c45bbb995ab1648286f8d04bbe

# 4  
Old 02-23-2012
Code:
awk -F'"' '{print $2, $6?$6:$4}'  myfile.txt

Guru.
This User Gave Thanks to guruprasadpr For This Post:
# 5  
Old 02-23-2012
Quote:
Originally Posted by guruprasadpr
Code:
awk -F'"' '{print $2, $6?$6:$4}'  myfile.txt

Guru.

And lil bit more change:

Code:
awk -F'"' '{print "project " $2, $6?$6:$4}'  myfile.txt

This User Gave Thanks to knight_eon For This Post:
# 6  
Old 02-23-2012
Thanks a lot.But last 3 lines the output is coming like
Code:
project platform/packages/wallpapers/MusicVisualization 576359ce60d2e0ef8205737570c647c29e3fe922
project platform/packages/wallpapers/NoiseField 4154cea31097a003bdceb9e50f4d69e3ec50e223
project platform/packages/wallpapers/PhaseBeam 5cc9b223bc9aa7c45bbb995ab1648286f8d04bbe

Now I need to remove the platform from these 3 lines.

Code:
project packages/wallpapers/MusicVisualization 576359ce60d2e0ef8205737570c647c29e3fe922
project packages/wallpapers/NoiseField 4154cea31097a003bdceb9e50f4d69e3ec50e223
project packages/wallpapers/PhaseBeam 5cc9b223bc9aa7c45bbb995ab1648286f8d04bbe

Anyways I will give a try. Thanks for all those who helped me.
# 7  
Old 02-23-2012
Code:
awk -F'[="]*' '/name/{sub(/platform\//,x);printf "project %s ",$2}/revision/{print $2}' RS=" " infile

This User Gave Thanks to Scrutinizer For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Printing lines with specific strings at specific columns

Hi I have a file which is tab-delimited. Now, I'd like to print the lines which have "chr6" string in both first and second columns. Could anybody help? (3 Replies)
Discussion started by: a_bahreini
3 Replies

2. Homework & Coursework Questions

[solved]Perl: Printing line numbers to matched strings and hashes.

Florida State University, Tallahassee, FL, USA, Dr. Whalley, COP4342 Unix Tools. This program takes much of my previous assignment but adds the functionality of printing the concatenated line numbers found within the input. Sample input from <> operator: Hello World This is hello a sample... (2 Replies)
Discussion started by: D2K
2 Replies

3. Shell Programming and Scripting

excluding two or more groups of strings from printing

sample text: 001 the quick brown fox jumps 987 over a lazy dog 002 the quick brown fox jumps 999 over a lazy dog 003 the quick brown cow jumps 888 over a lazy dog 004 the quick brown fox jumps 777 over a lazy dog 005 the quick brown fox jumps 666 over a lazy cat i want to do something... (1 Reply)
Discussion started by: marcpascual
1 Replies

4. SCO

Problem with printing

Does anybody know how I can stop the system slewing pages when a spool file has finished printing. I need to set up a method where all users are printing to the same printer to produce labels. The problem is that when the first users file has been printed the pages are slewed and the label is not... (2 Replies)
Discussion started by: rongrout
2 Replies

5. Shell Programming and Scripting

printing strings in one X number of times from another

I have one file of numbers 4 5 2 ... And another file of strings aaaaa bbbbb ccccc ddddd eeeee ffffff ... I'd like to print the stings from each line in reverse order with some decoration the number of times listed in the first file such as: Yeah bbbbb aaaaa Yeah bbbbb aaaaa (5 Replies)
Discussion started by: dcfargo
5 Replies

6. UNIX for Advanced & Expert Users

Printing Problem

I am trying to print to an hp printer. i configured it using the hp configuration, entry is in the /etc/hosts file, i can telnet into it using port 9100, ping it and send jobs to it. it just won't print. the jobs stay in the spooler. its telling me to add the printer to the canaccess list. ... (0 Replies)
Discussion started by: Rosario
0 Replies

7. UNIX for Dummies Questions & Answers

Printing problem

Hello, Not sure where to begin on describing the issue; please try to understand that I am not very familiar with SCO UNIXWARE. I am a newbie... We have a SCO UNIXWARE version 7.4 when we restart the computer we are required to enter the command lpstart, without it; people cannot print. ... (1 Reply)
Discussion started by: Yorgy
1 Replies

8. UNIX for Dummies Questions & Answers

printing Problem

When I print a file from an application it never stops printing. Any ideas? (2 Replies)
Discussion started by: 744eagle
2 Replies

9. IP Networking

Printing Problem

I have a printer installed on sun solaris m/c sun os 5.8. It doesn't print more than 52 files i.e if a give lp *.txt and the curent folder contains more than 52 files then it doesn't print them but if print in batches , each containing 52 files then it prints them properly. How do i increase the... (3 Replies)
Discussion started by: kapilv
3 Replies

10. UNIX for Dummies Questions & Answers

Problem with printing

Hi , Can somebody Please help me in finding out where I am going wrong. Suppose i have a file called r_wer which contains files. for ex : LMN20001 LMN20002 LMN20003 Now I want to print them. The way I am doing is $ for a in `cat '/r_wer'` > do > lp -d printername $a > done But... (3 Replies)
Discussion started by: rooh
3 Replies
Login or Register to Ask a Question