Sponsored Content
Top Forums Shell Programming and Scripting Help with a shell script to modify one line and copy the next 9 to same file Post 302366724 by Teroc on Friday 30th of October 2009 07:38:03 AM
Old 10-30-2009
I have another problem related to those files.

Sometimes, in file1, it is possible that one value in column 1 is associated to 2 or more values like this:
Code:
a1 b1 c1
a2 b2
a3 b3 c3 d4

Now, when I need to replace and copy as described in my other post, I need to do this for each value associated with a1.
The problem is, I tried with multidimensional arrays and other stuffs, but it doesn't write the full 9 lines for the 2nd value (c1 or c3).

Is there a way to jump back 10 lines up and retest the same line so I can process it again for the 2nd and 3rd value? I've searched since last post and can't find somethinbg working...

Thanks again and again !

Here is the code I use ...
Code:
NR==FNR {for(i=2;i<=NF;i+=1) a[$1]=$i" "a[$1];next}
NR!=FNR {print $0}

{if ($3 in a && $2=="MEASUREMENT")
	{temp=$3;
	split(a[$3],separate)
	for (x in separate)
	{$3=separate[x];
	buffer[j]=$0;
	$3=temp;
	d=9;
	while (d>0) #not printing for the second value of separate because of this while I guess, once it is done once, it wont do it again for the other values
	{getline; buffer[j]=buffer[j]"\n"$0; d--}  #I use a buffer so that I can write the thing where I want
	}j++
	}
}

And here is the ouput I have

Code:
...
/begin MEASUREMENT b1  #As intended
   "comment" 
   SWORD 
   ratio_0p1 
   1 
   100
   -2000.0 
   2000.0 
   ECU_ADDRESS 0x500040B4
  /end MEASUREMENT 
/end MEASUREMENT c1 #writes c1 here instead of the whole thing


Last edited by Teroc; 10-30-2009 at 08:56 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to modify a file using shell script

Hi, i am using SuonOS and ksh. i need to add data into a file(s.txt) using a shell script. i have to pass 3 parameters and these 3 paramaters should add into the file at end of the file. File s.txt is look like, --------------------------------- column1|column2|column3 ... (1 Reply)
Discussion started by: syamkp
1 Replies

2. Shell Programming and Scripting

How to copy and paste line in shell script

Hi I want to grep for a line and copy and paste that line. for Example ---- file abc.txt ---- host=atlx1 sid=atld1 mail=abc@abc.com host=atlx2 sid=atld2 mail=xyz@abc.com host=atlx3 sid=atld3 mail=def@abc.com host=atlx4 sid=atld4 mail=mno@abc.com --- end of file abc.txt ---- Now I... (16 Replies)
Discussion started by: upsrk
16 Replies

3. Shell Programming and Scripting

Need help to modify perl script: Text file with line and more than 1 space

Dear Friends, I am beginner in Perl and trying to find the problem in a script. Kindly help me to modify the script. My script is not giving the output for the last field and followed text (LA: Language English). Input file & script as follows: Input file: Thu Mar 19 2:34:14 EDT 2009 STC... (3 Replies)
Discussion started by: srsahu75
3 Replies

4. Shell Programming and Scripting

Shell Script - Copy File at intervals

Hi, I want to copy some files from a Folder say, /usr/X at random intervals to another location. Basically, new files will be dumped at random intervals to location /usr/X and I have to copy those new files to some other location (after copying, I cannot delete those files from source... (2 Replies)
Discussion started by: angshuman_ag
2 Replies

5. Shell Programming and Scripting

Shell script to copy file

Dear all, I have a database with thousands of files with the structure of name is: Filename_hour_year.abc Filename_hour_year_1.abc .............. So what I need is how to write a script that all file with contain the character "_1" will copy to "_2" For example: file name:... (7 Replies)
Discussion started by: hainguyen1402
7 Replies

6. Shell Programming and Scripting

Read data from .csv file through shell script & modify

I need to read data from a file called "test.csv" through shell script where the file contains values like name,price,descriptor etc. There are rows where descriptor (& in some rows name) are written as string & other characters like "car_+" OR "bike*" etc where it should contains strings like... (3 Replies)
Discussion started by: raj100
3 Replies

7. Shell Programming and Scripting

Modify text file using shell script

Hi, I have a text file which is following format - COL VAL ABC 1 ABC 2 ABC 3 ABC 4 ABC 5 My requirement is to search for a particular value (provided by user) in the file and comment the previous entries including that as well. E.g. If I search for number 3, then the output... (6 Replies)
Discussion started by: bhupinder08
6 Replies

8. Shell Programming and Scripting

Shell script to modify file in several directories

Hi, I want a script shell to automate modifying httpd.conf file for several instances of apache, save httpd.file before changing it, after modifying it and then restart apache. - Replace ServerRoot "xxxx" by ServerRoot "yyyy" of all directories : "... (4 Replies)
Discussion started by: bras39
4 Replies

9. UNIX for Dummies Questions & Answers

Copy and modify a file if the original has changed

Hi there, I have built up my own little "cloud" for my family as the amount of computers grows all day. By now we use 3 smartphones, 2 notebooks und 4 PCs, so this "home cloud" was made to store all personal data (photos, documents,...) and do a backup once in a while. It is running on a Ubuntu... (1 Reply)
Discussion started by: SebSnake
1 Replies

10. Shell Programming and Scripting

Make a copy of a file when someone tries to modify the file

I wish to take a backup of the file when someone tries to modify a file say /tmp/test.txt using vi, vim, cat, copy, mv commands. I'm aware of inotify which will notify me of any changes to the file however, I wish to make a backup before and not after the changes are made to the file. I... (1 Reply)
Discussion started by: mohtashims
1 Replies
virt-copy-out(1)					      Virtualization Support						  virt-copy-out(1)

NAME
virt-copy-out - Copy files and directories out of a virtual machine disk image. SYNOPSIS
virt-copy-out -a disk.img /file|dir [/file|dir ...] localdir virt-copy-out -d domain /file|dir [/file|dir ...] localdir DESCRIPTION
"virt-copy-out" copies files and directories out of a virtual machine disk image or named libvirt domain. You can give one of more filenames and directories on the command line. Directories are copied out recursively. EXAMPLES
Download the home directories from a virtual machine: mkdir homes virt-copy-out -d MyGuest /home homes JUST A SHELL SCRIPT WRAPPER AROUND GUESTFISH
This command is just a simple shell script wrapper around the guestfish(1) "copy-out" command. For anything more complex than a trivial copy, you are probably better off using guestfish directly. OPTIONS
Since the shell script just passes options straight to guestfish, read guestfish(1) to see the full list of options. SEE ALSO
guestfish(1), virt-cat(1), virt-copy-in(1), virt-edit(1), virt-tar-in(1), virt-tar-out(1), http://libguestfs.org/. AUTHORS
Richard W.M. Jones ("rjones at redhat dot com") COPYRIGHT
Copyright (C) 2011-2012 Red Hat Inc. LICENSE
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. BUGS
To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools When reporting a bug, please supply: o The version of libguestfs. o Where you got libguestfs (eg. which Linux distro, compiled from source, etc) o Describe the bug accurately and give a way to reproduce it. o Run libguestfs-test-tool(1) and paste the complete, unedited output into the bug report. libguestfs-1.22.6 2013-08-24 virt-copy-out(1)
All times are GMT -4. The time now is 03:16 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy