Formatting Help needed


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Formatting Help needed
# 1  
Old 06-14-2010
Formatting Help needed

How would i write a script which will add a following content to a file.

File Before running script.
Code:
acpi = 1
apic = 1
builder = 'hvm'
device_model = '/usr/lib/xen/bin/qemu-dm'
disk = ['file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/running_pool/IFLMUD5IM0196/System-hdc.img,hda,w',
',hdc:cdrom,r',
]

File After running the script.

Code:
acpi = 1
apic = 1
builder = 'hvm'
device_model = '/usr/lib/xen/bin/qemu-dm'
disk =  ['file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/running_pool/IFLMUD5IM0196/System-hdc.img,hda,w',
'file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/iso_pool/WindowXP/XpBoot.iso,hdc:cdrom,r',
]

Here i have added file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/iso_pool/WindowXP/XpBoot.iso
file.

There fore if i want to rerun the script with another value it should remove the previous entry and enter the new entry.
as below.

File Before running script.

Code:
acpi = 1
 apic = 1
 builder = 'hvm'
 device_model = '/usr/lib/xen/bin/qemu-dm'
 disk =  ['file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/running_pool/IFLMUD5IM0196/System-hdc.img,hda,w',
 'file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/iso_pool/WindowXP/XpBoot.iso,hdc:cdrom,r',
 ]

File After running the script.

Code:
acpi = 1
 apic = 1
 builder = 'hvm'
 device_model = '/usr/lib/xen/bin/qemu-dm'
 disk =  ['file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/running_pool/IFLMUD5IM0196/System-hdc.img,hda,w',
 'file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/iso_pool/Window2003/2k3.iso,hdc:cdrom,r',
 ]

Being a new to unix scripting this task is a big challenge for me and i could not able to solve it.
therefore seeking your help here.
# 2  
Old 06-14-2010
Code:
# cat ol
acpi = 1
 apic = 1
 builder = 'hvm'
 device_model = '/usr/lib/xen/bin/qemu-dm'
 disk =  ['file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/running_pool/IFLMUD5IM0196/System-hdc.img,hda,w',
 'file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/iso_pool/WindowXP/XpBoot.iso,hdc:cdrom,r',
 ]


Code:
# sed 's:iso_pool/WindowXP/XpBoot.iso:iso_pool/Window2003/2k3.iso:' file 
 acpi = 1
 apic = 1
 builder = 'hvm'
 device_model = '/usr/lib/xen/bin/qemu-dm'
 disk =  ['file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/running_pool/IFLMUD5IM0196/System-hdc.img,hda,w',
 'file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/iso_pool/Window2003/2k3.iso,hdc:cdrom,r',
 ]

# 3  
Old 06-14-2010
Quote:
Originally Posted by ygemici
Code:
# cat ol
acpi = 1
 apic = 1
 builder = 'hvm'
 device_model = '/usr/lib/xen/bin/qemu-dm'
 disk =  ['file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/running_pool/IFLMUD5IM0196/System-hdc.img,hda,w',
 'file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/iso_pool/WindowXP/XpBoot.iso,hdc:cdrom,r',
 ]

Code:
# sed 's:iso_pool/WindowXP/XpBoot.iso:iso_pool/Window2003/2k3.iso:' file 
 acpi = 1
 apic = 1
 builder = 'hvm'
 device_model = '/usr/lib/xen/bin/qemu-dm'
 disk =  ['file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/running_pool/IFLMUD5IM0196/System-hdc.img,hda,w',
 'file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/iso_pool/Window2003/2k3.iso,hdc:cdrom,r',
 ]

The problem with above code is you never know what is the previous is0 entry .
For example you have written script considering the previous entries (/WindowXP/XpBoot.iso,hdc). It can be anything But it will have an .iso in the end that is sure.
# 4  
Old 06-14-2010
Quote:
Originally Posted by pinga123
The problem with above code is you never know what is the previous is0 entry .
For example you have written script considering the previous entries (/WindowXP/XpBoot.iso,hdc). It can be anything But it will have an .iso in the end that is sure.
Code:
# cat myfile
acpi = 1
 apic = 1
 builder = 'hvm'
 device_model = '/usr/lib/xen/bin/qemu-dm'
 disk =  ['file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/running_pool/IFLMUD5IM0196/System-hdc.img,hda,w',
 'file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/iso_pool/WindowXP/XpBoot.iso,hdc:cdrom,r',
 ]


we let take line which change line
Code:
 
previous=$( (sed -n "/\(file:.*,hdc:cdrom,r'\)/p" myfile) )

nextline is must be your new line so you input what you want this Smilie
Code:
 
next="file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/iso_pool/Window2003/XpBoot.iso"

and you can use change line one time
Code:
 
sed -e "s|$previous| '$next,hdc:cdrom,r'|" myfile
 
acpi = 1
 apic = 1
 builder = 'hvm'
 device_model = '/usr/lib/xen/bin/qemu-dm'
 disk =  ['file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/running_pool/IFLMUD5IM0196/System-hdc.img,hda,w',
 'file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/iso_pool/Window2003/XpBoot.iso,hdc:cdrom,r'
 ]

# 5  
Old 06-15-2010
Quote:
Originally Posted by ygemici
Code:
# cat myfile
acpi = 1
 apic = 1
 builder = 'hvm'
 device_model = '/usr/lib/xen/bin/qemu-dm'
 disk =  ['file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/running_pool/IFLMUD5IM0196/System-hdc.img,hda,w',
 'file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/iso_pool/WindowXP/XpBoot.iso,hdc:cdrom,r',
 ]

we let take line which change line
Code:
 
previous=$( (sed -n "/\(file:.*,hdc:cdrom,r'\)/p" myfile) )

nextline is must be your new line so you input what you want this Smilie
Code:
 
next="file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/iso_pool/Window2003/XpBoot.iso"

and you can use change line one time
Code:
 
sed -e "s|$previous| '$next,hdc:cdrom,r'|" myfile
 
acpi = 1
 apic = 1
 builder = 'hvm'
 device_model = '/usr/lib/xen/bin/qemu-dm'
 disk =  ['file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/running_pool/IFLMUD5IM0196/System-hdc.img,hda,w',
 'file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/iso_pool/Window2003/XpBoot.iso,hdc:cdrom,r'
 ]

Even this script has its own disadvantage as it is unable to replace the previous entry which is null.
For example.This script will fail if previous entry is like following.

Code:
acpi = 1
 apic = 1
 builder = 'hvm'
 device_model = '/usr/lib/xen/bin/qemu-dm'
 disk =   ['file:/var/ovs/mount/825D2FF7ED2645428AD5AED714B5E777/running_pool/IFLMUD5IM0196/System-hdc.img,hda,w',
 ',hdc:cdrom,r'

# 6  
Old 06-23-2010
Please suggest
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help needed in formatting the output

Hi All, Need your help in resolving the below issue. I've a file called "data.txt" with the below lines: TT: <tell://me/sreenivas> <tell://me/100> <tell://me/500> TT: <tell://me/sudheer> <tell://me/300> TT: <tell://me/sreenivas> <tell://me/200> TT:... (6 Replies)
Discussion started by: raosr020
6 Replies

2. Shell Programming and Scripting

Help needed in formatting the Output file

Hi All, Need your help in resolving the below issue. I've a file called "data.txt" with the below lines: TT: <tell://me/sreenivas> <tell://me/100> TT: <tell://me/sudheer> <tell://me/300> TT: <tell://me/sreenivas> <tell://me/200> TT: <tell://me/sudheer> <tell://me/400> ... (3 Replies)
Discussion started by: raosr020
3 Replies

3. Shell Programming and Scripting

formatting of df -k

Hello, I am developing a platform Independant tool that should work for all major unix flavors outlined in this forum(Solaris,Linux, AIX, HPUX, SCO,BSD) Therefore, in order to cover all types of user community, I have deliberately posted the same message on every forum. Please do not think... (9 Replies)
Discussion started by: darsh123
9 Replies

4. Shell Programming and Scripting

Formatting

Is there a way to make a 2 column output out of the following : 1 2 3 4 5 6 Output : 1 2 3 4 5 6 Thanks, Prasanna (3 Replies)
Discussion started by: prasanna1157
3 Replies

5. Shell Programming and Scripting

Help needed in formatting script files

Hi, Can anyone tell me how i can convert all tab spaces inside a script to 4 spaces through another script. Also i need to find if all the quotes are matching and ended properly. Any idea whould be of great help. Many thanks! (3 Replies)
Discussion started by: justchill
3 Replies

6. Shell Programming and Scripting

Formatting help needed awk or sed maybe

I am executing the following command: sort file1.txt | uniq -c | sort -n > file2.txt The problem is that in file 2, I get leading spaces, Like so: 1 N/A|A8MW11 8 N/A|ufwo1 9 N/A|a8mw11 10 900003|smoketest297688 10 N/A|a9dg4 10 danny|danni 12... (5 Replies)
Discussion started by: ddurden7
5 Replies

7. Shell Programming and Scripting

Formatting Help needed(Sed)

I have a file called abc.txt which has following contents. 10.180.8.231=31608 10.180.8.232=29011 10.180.8.233=31606 10.180.8.234=40501 10.180.8.235=32591 10.180.8.236=31605 10.180.8.237=30561 10.180.8.238=14231 How would i find a ip address having maximum number of ram available. Here... (2 Replies)
Discussion started by: pinga123
2 Replies

8. Shell Programming and Scripting

Little formatting help needed.

I have a following string. "machine=IFLMUD5HP0581&group1=Stop" I have created 2 variables namely machine and action. machine should contain IFLMUD5HP0581 action should contain Stop How do i write a script for the same. (7 Replies)
Discussion started by: pinga123
7 Replies

9. Shell Programming and Scripting

Output formatting help needed.

Hi guys , I have a file which contains following string.(filename tempdisplay) (location 0.0.0.0:5900) i needed to write a script which will extract the string that comes after 0.0.0.0 i.e the string :5900. I have used following method to extract the string :5900 .Is it a preferred way of... (4 Replies)
Discussion started by: pinga123
4 Replies

10. Shell Programming and Scripting

formatting

I have file with different columns for ex. contents of file "txt" NAME AGE MARKS HARRY 23 89 TOM 12 67 BOB 23 11 and you see its not formatted.Now, I need the file "txt" to be formatted like COLUMN1 COLUMN2 COLUMN3 NAME AGE ... (3 Replies)
Discussion started by: vijay_0209
3 Replies
Login or Register to Ask a Question