Sponsored Content
Full Discussion: Array inside sed
Top Forums UNIX for Dummies Questions & Answers Array inside sed Post 302933329 by saleheen on Thursday 29th of January 2015 12:06:39 PM
Old 01-29-2015
Array inside sed

Hi guys

Let me at first describe the whole thing that I'm trying to do. Lets say I have 100 files like the following one.
HTML Code:
Ow            1230   16.000000   -0.834000   16.083957                  
     1.751652398        -17.20094528        -4.450623277                
Hw            1231    1.000000    0.417000   14.341378                  
     2.128451025        -16.83399008        -5.250372494                
Hw            1232    1.000000    0.417000   16.844104                  
    0.9093140466        -16.75614395        -4.356548788                
Ow            1233   16.000000   -0.834000   20.225603                  
    -2.889503614        -23.61890070         10.03599967                
Hw            1234    1.000000    0.417000   20.855176                  
    -2.102487366        -23.08165809         10.12659865                
Hw            1235    1.000000    0.417000   20.448925                  
    -2.604411345         24.18827587         10.26811687                
Ow            1236   16.000000   -0.834000    9.718498                  
    -18.13116183         15.29853776        -10.10585481                
Hw            1237    1.000000    0.417000    9.855829                  
    -18.86525637         14.71715826        -10.30418717                
Hw            1238    1.000000    0.417000    9.294911                  
    -17.66286350         15.38507405        -10.93618054                
Ow            1239   16.000000   -0.834000   10.477756                  
     11.91804137        -21.91087964        -11.56566494
I want to merge all the 100 files. The second field of the 1st,3rd..so on lines shows the atom number i.e 1230,1231. All the files are numbered from 1230..1239. So for the 1st file this numbers are ok, for the second file numbering should start from 1240,1241..and this should go on all the way through the last file. I did merge the files through a loop, The way I was trying to get those atom numbers in an array, replace those array elements with a counter. My thinking was this-

Code:
 myarr=($(awk 'NR % 2 ==1' TestMe | awk '{print $2}'))
echo ${myarr[@]} 
counter=1230; 
for i in "${myarr[@]}" 
do sed "s/$i/$j/g" TestMe;
counter=$(($counter+1)); 
done

I just don't know how to replace array elements in a sed command. Or is it the right way to loop through array elements. And whenever I tried to use that piece of code it said-
Code:
-bash: syntax error near unexpected token `counter=$(($counter+1))'

Thanks a lot!

Last edited by saleheen; 01-29-2015 at 01:56 PM.. Reason: mistake in code
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

looping a array inside inside ssh is not working, pls help

set -A arr a1 a2 a3 a4 # START ssh -xq $Server1 -l $Username /usr/bin/ksh <<-EOS integer j=0 for loop in ${arr} do printf "array - ${arr}\n" (( j = j + 1 )) j=`expr j+1` done EOS # END ========= this is not giving me correct output. I... (5 Replies)
Discussion started by: reldb
5 Replies

2. UNIX for Advanced & Expert Users

Array inside an array

hi All, I have a array as follows, array1=("xx" "abc" "def" "xyz") and each array1 is also storing some array values, like array1=abc and abc=("a" "b" "c") etcetera etcetra......... Note : each subarray under array1 have index 3 i.e. it can max contain 3 values if i echo ${abc} ... (5 Replies)
Discussion started by: manas_ranjan
5 Replies

3. Shell Programming and Scripting

split and making an array inside another array

I want to run an awk split on a value that has been pushed through an array and I was wondering what the syntax should be?? e.g. running time strings through an array and trying to examine just minutes: 12:25:30 10:15:13 08:55:23 awk ' NR==FNR{ ... (2 Replies)
Discussion started by: dcfargo
2 Replies

4. Shell Programming and Scripting

using array inside awk

Hi All, I have the following code sequence for reading some bulk file and moving the content to two different arrays. while read data do THREEG_PATTERN=`echo $data | egrep "3G"` if then NEW_THREEG_PATTERN=`echo $THREEG_PATTERN | cut -d " " -f2` ... (12 Replies)
Discussion started by: subin_bala
12 Replies

5. Shell Programming and Scripting

How to print array values whose name is inside a variable

I have a array as CArray=( a1 a2 ) and a1,a2,a3 are also array as: a1=(1 2 3) a2=(3 4 5) now I have this in my code: for i in `echo "${CArray}"` do echo ${$i} done It is giving error as :"bad substitution" It should give me value as 1 2 3 3 4 5 how can I get this...Can u please... (2 Replies)
Discussion started by: joshilalit2004
2 Replies

6. Shell Programming and Scripting

Calling array inside awk

Hello I have the file df.tmp FS is actually the / FS but escape character\ and end of line $ is used in order to fetch exctly / and not other filesystems. awk '/\/$/ {print $(NF-1)+0}' df.tmp will work properly and return a value eg. 60 but when I am trying to issue the command with the array... (3 Replies)
Discussion started by: drbiloukos
3 Replies

7. Shell Programming and Scripting

unique inside array

I have a file root@server # cat /root/list12 11.22.33.44 22.33.44.55 33.44.55.66 33.44.55.66 33.44.55.66 I try to pass to array and display unique. root@server# cat /root/test12.sh #!/bin/bash #delcare array badips and accumulate values to array elemenrs badips=( $( cat... (4 Replies)
Discussion started by: anil510
4 Replies

8. Shell Programming and Scripting

How to use variable inside array?

I tried to use variable inside an array variable, but its not working as expected.:wall: ENV1=123 ENV1=789 ENV1=120 ENV2=567 if then name=ENV1 echo "${name}" echo "${name}" echo "${name}" else name=ENV1 echo "${name}" fi Output: ./val.sh 1 123 (2 Replies)
Discussion started by: Jayavinoth
2 Replies

9. Programming

Array initialization inside class in C++

const int VALUES = {7,4,2,1,0}; //or int VALUES = {7,4,2,1,0};this statement inside a class definition gives error. Why? (3 Replies)
Discussion started by: milhan
3 Replies

10. UNIX for Beginners Questions & Answers

sed inside the awk script to replace a string in the array

The requirement is i need to find an array value matching with pattern {5:{ , replace that with 5: and reassign that to same array index and print it. I write something like below and the issue is sed command is not working. If i replace " with "`" the script gives syntax error.how can i... (8 Replies)
Discussion started by: bhagya123
8 Replies
fixnt(1)							      Debian								  fixnt(1)

NAME
fixnt - Filter for the Windows NT postscript printer driver. SYNOPSIS
fixnt < BADFILE.ps > GOODFILE.ps DESCRIPTION
The Windows NT postscript driver has a tendency to make broken postscript files, that are incompatible with psutils. fixnt is a filter that fixes these problems, allowing the use of psnup(1). The filter takes the broken postscript file on stdin, and outputs a fixed postscript file on stdout. It has no other form for invocation and takes no options on the command-line. OPTIONS
fixnt takes no options. BUGS
fixnt does not check for NTPSOct94. For a workaround, use a sed(1) command to replace 'NTPSOct94' with 'NTPSOct95', like so: sed 's/NTPSOct94/NTPSOct95/g' This is particularly important for Windows NT 3.5 users. AUTHOR
fixnt was written by Holger Bauer <Holger.Bauer@topmail.de>, Michael Rath <rath@itsm.uni-stuttgart.de>, and Akim Demaille <demaille@inf.enst.fr>. REPORTING BUGS
Report bugs to the Authors, but avoid sending large postscript files. Patches are always welcome; send to <bauer@itsm.uni-stuttgart.de>. SEE ALSO
psnup(1), sed(1) a2ps February 2003 fixnt(1)
All times are GMT -4. The time now is 01:36 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy