Sponsored Content
Top Forums Shell Programming and Scripting Adding (as in arithmetic) to numbers in columns in file, and writing new file with new numbers Post 302896227 by crunchgargoyle on Saturday 5th of April 2014 02:22:21 PM
Old 04-05-2014
Adding (as in arithmetic) to numbers in columns in file, and writing new file with new numbers

Hi again. Sorry for all the questions — I've tried to do all this myself but I'm just not good enough yet, and the help I've received so far from bartus11 has been absolutely invaluable. Hopefully this will be the last bit of file manipulation I need to do.

I have a file which is formatted as follows:
Code:
ATOM      1  OW  SOL X 257      77.820  57.470  97.740  1.00  0.00
ATOM      2  HW1 SOL X 257      77.890  56.840  98.520  1.00  0.00
ATOM      3  HW2 SOL X 257      78.720  57.870  97.550  1.00  0.00
ATOM      4  OW  SOL X 258       2.150  71.800  96.120  1.00  0.00
ATOM      5  HW1 SOL X 258       2.940  72.410  96.120  1.00  0.00
ATOM      6  HW2 SOL X 258       2.370  70.970  96.630  1.00  0.00
ATOM      7  OW  SOL X 259      46.670  23.720  74.950  1.00  0.00
ATOM      8  HW1 SOL X 259      45.750  24.020  75.180  1.00  0.00
ATOM      9  HW2 SOL X 259      47.040  24.320  74.240  1.00  0.00
ATOM     10  OW  SOL X 260      61.950  15.110  16.890  1.00  0.00
ATOM     11  HW1 SOL X 260      61.360  15.690  17.450  1.00  0.00
ATOM     12  HW2 SOL X 260      62.900  15.430  16.960  1.00  0.00
ATOM     13  OW  SOL X 261       5.110  14.690  72.070  1.00  0.00
ATOM     14  HW1 SOL X 261       5.290  14.250  72.960  1.00  0.00
ATOM     15  HW2 SOL X 261       4.170  14.500  71.800  1.00  0.00

The coordinates there correspond to water molecules. In column 2 (beginning with 1 and ending with 15) I need to add 5294 to all the numbers and write a new file — or modify the original, but I assume this isn't possible — to give 5295 through 5309. In the third column, which has sets of three of the same five numbers (257 — 261) I need to do something similar, and subtract 126 from all of them (giving 131 — 135).

I should mention that the file itself has many thousands more of these lines, so ideally I need something which is acting on all the numbers in the respective columns. I figured awk but what I've tried isn't capable of handling the numbers as numbers, which is where I'm falling down, so I don't know if something like Python would work, but I've not had much luck there either and don't have much experience with the language.

The reason I need to do this is so that the software I'm using will be able to correctly read the coordinates I'm trying to combine.

Once again any help would be greatly appreciated. Many thanks.

Last edited by crunchgargoyle; 04-05-2014 at 03:24 PM.. Reason: Minor clarity edit
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Adding 2 numbers

I would like to write a script with BASH to add two numbers (integer) and write the result to the standard output. Please help! (7 Replies)
Discussion started by: Viper01
7 Replies

2. UNIX for Dummies Questions & Answers

Adding Numbers in a line from a file

Hello everyone ! Ive searched everywhere and still havnt found enough information to help me overcome (what seems like) a small problem I have created a temporary file in which i store numbers which a seperated by a space, eg) 5 10 46 23 866 392 i wish to take the numbers for each line... (2 Replies)
Discussion started by: healwithchaos
2 Replies

3. Shell Programming and Scripting

read numbers from file and output which numbers belongs to which range

Howdy experts, We have some ranges of number which belongs to particual group as below. GroupNo StartRange EndRange Group0125 935300 935399 Group2006 935400 935476 937430 937459 Group0324 935477 935549 ... (6 Replies)
Discussion started by: thepurple
6 Replies

4. Shell Programming and Scripting

Arithmetic calculation on real numbers in Bourne Shell Script

I am begining to learn bourne shell and as a practice I have written a script which when given the purchase price and percentage of discount calculates the savings. I somehow cannot figure out why my script fails to do arthimatic calculation on real numbers. Could anyone look at the script... (5 Replies)
Discussion started by: Tirmazi
5 Replies

5. Shell Programming and Scripting

the smallest number from 90% of highest numbers from all numbers in file

Hello All, I am having problem to find what is the smallest number from 90% of highest numbers from all numbers in file. I am having file with thousands of lines and hundreds of columns. I am familiar mainly with bash but I am open to whatever suggestion witch will lead to the solutions. If I... (11 Replies)
Discussion started by: Apfik
11 Replies

6. Shell Programming and Scripting

Adding numbers

Hi I figured how to add my list of numbers. However how do I count so that after a certain number it lists the line. Example: 12 test1 46 test2 195 test3 174 test4 634 test5 185 test6 94 test7 So basically add the numbers and when the addition reaches 300 or less print the... (8 Replies)
Discussion started by: bombcan
8 Replies

7. UNIX for Dummies Questions & Answers

How to delete columns with numbers in an excel file?

Dear all, I have one file (see below) with more then 100 columns and 2500 rows, and need only column which has GType in label with Alphabets, please help me to remove these columns with numbers. input file is n.201.GType n-201.Theta n-201.R n_1.GType n_1.Theta n_1.R... (6 Replies)
Discussion started by: AAWT
6 Replies

8. UNIX for Dummies Questions & Answers

Adding a column to a text file with row numbers

Hi, I would like to add a new column containing the row numbers to a text file. How do I go about doing that? Thanks! Example input: A X B Y C D Output: A X 1 B Y 2 C D 3 (5 Replies)
Discussion started by: evelibertine
5 Replies

9. Shell Programming and Scripting

ksh Arithmetic syntax error while comparing decimal numbers

Hello, I am having a problem when i execute following script on RHEL 6.4. Same script works fine on another machine where I have same version of RHEL and KSH. Below is the rpm and RHEL version. ossvm12(0)> rpm -qa | grep ksh ksh-20100621-19.el6.x86_64 ossvm12(0)> cat... (7 Replies)
Discussion started by: Adithya Gokhale
7 Replies

10. Shell Programming and Scripting

awk - Adding and Subtracting Numbers from 2 Columns

Hi Folks, I have a file with 2 columns TAB delimited and I want to add '1' to the first column and subtract '-1' from the second column. What I have tried so far is; awk -F"\t" '{ $1-=1;$2+=1}1' OFS='\t' file File 0623 0623 0624 0624 0643 0643 1059 1037 1037 1037 1038 1038... (2 Replies)
Discussion started by: pshields1984
2 Replies
XSetWMProtocols(3)						  XLIB FUNCTIONS						XSetWMProtocols(3)

NAME
XSetWMProtocols, XGetWMProtocols - set or read a window's WM_PROTOCOLS property SYNTAX
Status XSetWMProtocols(Display *display, Window w, Atom *protocols, int count); Status XGetWMProtocols(Display *display, Window w, Atom **protocols_return, int *count_return); ARGUMENTS
display Specifies the connection to the X server. count Specifies the number of protocols in the list. count_return Returns the number of protocols in the list. protocols Specifies the list of protocols. protocols_return Returns the list of protocols. DESCRIPTION
The XSetWMProtocols function replaces the WM_PROTOCOLS property on the specified window with the list of atoms specified by the protocols argument. If the property does not already exist, XSetWMProtocols sets the WM_PROTOCOLS property on the specified window to the list of atoms specified by the protocols argument. The property is stored with a type of ATOM and a format of 32. If it cannot intern the WM_PRO- TOCOLS atom, XSetWMProtocols returns a zero status. Otherwise, it returns a nonzero status. XSetWMProtocols can generate BadAlloc and BadWindow errors. The XGetWMProtocols function returns the list of atoms stored in the WM_PROTOCOLS property on the specified window. These atoms describe window manager protocols in which the owner of this window is willing to participate. If the property exists, is of type ATOM, is of for- mat 32, and the atom WM_PROTOCOLS can be interned, XGetWMProtocols sets the protocols_return argument to a list of atoms, sets the count_return argument to the number of elements in the list, and returns a nonzero status. Otherwise, it sets neither of the return argu- ments and returns a zero status. To release the list of atoms, use XFree. XGetWMProtocols can generate a BadWindow error. PROPERTIES
WM_PROTOCOLS List of atoms that identify the communications protocols between the client and window manager in which the client is willing to participate. DIAGNOSTICS
BadAlloc The server failed to allocate the requested resource or server memory. BadWindow A value for a Window argument does not name a defined Window. SEE ALSO
XAllocClassHint(3), XAllocIconSize(3), XAllocSizeHints(3), XAllocWMHints(3), XFree(3), XSetCommand(3), XSetTransientForHint(3), XSet- TextProperty(3), XSetWMClientMachine(3), XSetWMColormapWindows(3), XSetWMIconName(3), XSetWMName(3), XSetWMProperties(3), XStringListTo- TextProperty(3) Xlib - C Language X Interface X Version 11 libX11 1.3.2 XSetWMProtocols(3)
All times are GMT -4. The time now is 02:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy