Sponsored Content
Top Forums Shell Programming and Scripting Replacing line 'i' of file1 with line 'j' of file 2 Post 302529282 by f_o_555 on Thursday 9th of June 2011 02:23:44 AM
Old 06-09-2011
Hi,
yes you are correct I hae to replace 'v1' in file ${TMPFILE}1 with line B of file file02.dat
but you script doesn't seem to do that. I mean it replaces some strings but the file that obtain is not what I expect.
This is what I got so far. It doesn't seem to accept the parameter B.

Code:
#/bin/bash
POSITIONS_CASE5=("5" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "31" "34" "35" "38" "57" "144" "147" "148" "166" "253" "256" "257" "275" "362" "365" "366" "384" "471" "474" "475" "493" "577")

LINES_CASE5=("3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25" "26" "27" "28" "29" "30" "31" "32" "33" "34" "35")

ELEMENTS_5A=${#LINES_CASE5[@]}  
ELEMENTS_5B=${#POSITIONS_CASE5[@]}  

echo $ELEMENTS_5A $ELEMENTS_5B
###############################################################################
for i in 1 2
do
  read my_data[$i]
done < file02.dat

INFILE="TEST.inp"
TMPFILE=${INFILE}.tmp
OUTFILE=${my_data[1]}

cp ${INFILE} ${TMPFILE}1
echo $INFILE $TMPFILE $OUTFILE
###############################################################################
DATE
for (( j=0;j<$ELEMENTS_5A;j++)); do
    echo $j ${POSITIONS_CASE5[${j}]} ${LINES_CASE5[${j}]}
    B=${LINES_CASE5[${j}]}
    awk '{if(NR!=v1 ){print;next}system("head -v2  v3|tail -1")}' v1=${POSITIONS_CASE5[${j}]} v2=${B} v3=file02.dat ${TMPFILE}1 > ${TMPFILE}2
    mv ${TMPFILE}2 ${TMPFILE}1
done
mv ${TMPFILE}1 ${OUTFILE}
DATE

I get the rror message
Code:
head: invalid trailing option -- 2

Thanks,
Sarah

Last edited by f_o_555; 06-09-2011 at 03:42 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

replacing first line or lines in a file

hey guys, how do i replace only a line within a file without messing up the rest of the contents of the file? see, if possible can you guys give me a straight forward way to do this. i dont want a complex command. what i mean is i know i can accomplish this by using sed, well, i think i can,... (3 Replies)
Discussion started by: Terrible
3 Replies

2. Shell Programming and Scripting

Replacing a line in a file - HELP!!!

I have a problem in the following code ... while read line do #Get Line Number OLDLINE=`sed -n $Lineno $filename` echo "Un Changed Line : "$OLDLINE echo "Enter a New Pattern : " read NewPattern <&1 echo "NewPattern :"$NewPattern NEWLINE=`cat $filename | sed -n... (1 Reply)
Discussion started by: maxmave
1 Replies

3. Shell Programming and Scripting

cat file1 read line-per-line then grep -A 15 lines down in fileb

STEP 1 # Set variable FILE=/tmp/mainfile SEARCHFILE =/tmp/searchfile # THIS IS THE MAIN FILE. cat /tmp/mainfile Interface Ethernet0/0 "outside", is up, line protocol is up Hardware is i82546GB rev03, BW 100 Mbps Full-Duplex(Full-duplex), 100 Mbps(100 Mbps) MAC address... (6 Replies)
Discussion started by: irongeekio
6 Replies

4. Shell Programming and Scripting

Compare multiple fields in file1 to file2 and print line and next line

Hello, I have two files that I need to compare and print out the line from file2 that has the first 6 fields matching the first 6 fields in file1. Complicating this are the following restrictions 1. file1 is only a few thousand lines at most and file2 is greater than 2 million 2. I need to... (7 Replies)
Discussion started by: gillesc_mac
7 Replies

5. UNIX for Advanced & Expert Users

how do you parse 1 line at a time of file1 ie. line(n) each line into new file

File 1 <html>ta da....unique file name I want to give file=>343...</html> <html>da ta 234 </html> <html>pa da 542 </html> and so on... File 2 343 234 542 and so on, each line in File 1 one also corresponds with each line in File 2 I have tried several grep, sed, while .. read, do,... (4 Replies)
Discussion started by: web_developer
4 Replies

6. UNIX for Dummies Questions & Answers

Replacing first line of file by >filename

Hi All, I have a set of files named S5_SK1.chr01 S5_SK1.chr02 S5_SK1.chr03 ..... and the first line of these files is >SK1.chr01 >SK1.chr02 >SK1.chr03 ..... Can anyone suggest how I can change the first line of all these files with the filename itself? So my expected output for the first lines of... (14 Replies)
Discussion started by: pawannoel
14 Replies

7. Shell Programming and Scripting

Replacing a line in a file using sed

I have a file which has a list in it pop triangle people slow fast What I want to do is search this list and replace people with humans do the list looks like this: pop triangle human slow fast I think i use something like this.... if cat /list.txt | grep -q 'people' ; then (9 Replies)
Discussion started by: digitalviking
9 Replies

8. Shell Programming and Scripting

Replacing a line in a file

Hi all, I need to replace a line export TZ=xxxxxxxx with the line export TZ=$1 Now, "xxxxxxxx" in the above line is some unknown string and $1 is a parameter. I want the content of $1 to be replaced with "xxxxxxxx". Kindly help me how to do this in the shell scripting. (5 Replies)
Discussion started by: ddeeps2610
5 Replies

9. Shell Programming and Scripting

Using regex's from file1, print line and line after matches in file2

Good day, I have a list of regular expressions in file1. For each match in file2, print the containing line and the line after. file1: file2: Output: I can match a regex and print the line and line after awk '{lines = $0} /Macrosiphum_rosae/ {print lines ; print lines } ' ... (1 Reply)
Discussion started by: pathunkathunk
1 Replies

10. Shell Programming and Scripting

Pick a line in file 2 basing on array in file1

Dear friends, I have two files. One with all IDs(in a single field) . And another with data(of which say field 5 is ID). I want to create an array of IDs using first file and while reading second file if the ID appears in the array I need to print $0 else skip. After a long gap I am... (6 Replies)
Discussion started by: paresh n doshi
6 Replies
TMPFILE(3)								 1								TMPFILE(3)

tmpfile - Creates a temporary file

SYNOPSIS
resource tmpfile (void ) DESCRIPTION
Creates a temporary file with a unique name in read-write (w+) mode and returns a file handle . The file is automatically removed when closed (for example, by calling fclose(3), or when there are no remaining references to the file handle returned by tmpfile(3)), or when the script ends. For details, consult your system documentation on the tmpfile(3) function, as well as the stdio.h header file. RETURN VALUES
Returns a file handle, similar to the one returned by fopen(3), for the new file or FALSE on failure. EXAMPLES
Example #1 tmpfile(3) example <?php $temp = tmpfile(); fwrite($temp, "writing to tempfile"); fseek($temp, 0); echo fread($temp, 1024); fclose($temp); // this removes the file ?> The above example will output: writing to tempfile SEE ALSO
tempnam(3), sys_get_temp_dir(3). PHP Documentation Group TMPFILE(3)
All times are GMT -4. The time now is 06:18 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy