awk script

Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
# 1  
awk script

Hi,

I have a file which has regions in numbers like:
Code:
chr1    6845635    6880240

and I want an awk script which extracts only 1000 numbers from the end of the 2nd column. The output should then look like this:
Code:
chr1    6845635    6846635

Kindly help.
warm regards.

Last edited by Franklin52; 10-08-2014 at 11:28 AM.. Reason: Please use code tags
# 2  
Quote:
Originally Posted by genebuster
Hi,

I have a file which has regions in numbers like:
chr1 6845635 6880240
and I want an awk script which extracts only 1000 numbers from the end of the 2nd column. The output should then look like this:
chr1 6845635 6846635
Kindly help.
warm regards.
Hi genebuster,

Welcome to forum, please use code tags while posting codes/commands in posts, you can Preview Post option before posting it.
Following may help you in same.

Code:
awk -vvar=1000 '{$2==6845635} (++i) {if(i<=var){print $0}}'  Input_file

Thanks,
R. Singh
# 3  
My File has different entries in every line.
Code:
chr1    6845635    6880240    
chr1    7151431    7309550    
chr1    57756838    58115263    
chr1    85824530    85961848    
chr1    172100428    172222712

and I want that the script should work for each line adding 1000 as a number from each of the second columns. Like
Code:
chr1 6845635 6846635
chr1 7151431 7152431

and so on...
Thanks

---------- Post updated at 09:18 AM ---------- Previous update was at 09:09 AM ----------

Hi Mr Singh,
Thanks but your code is not working.

Last edited by Franklin52; 10-08-2014 at 11:28 AM.. Reason: Please use code tags
# 4  
Hello genebuster,

Following may help.

Code:
awk '($3=$2+1000) 1' Input_file

Assuming like your file not having any empty lines init.

Thanks,
R. Singh
This User Gave Thanks to RavinderSingh13 For This Post:
# 5  
Like this ?

Code:
awk 'NF { $3 = $2 + 1000 }1' file

This User Gave Thanks to Akshay Hegde For This Post:
# 6  
Surprisingly the Tabs have disappeared in the output file...how to put them back ?
# 7  
Code:
awk 'NF { $3 = $2 + 1000 }1' OFS='\t' file

---------- Post updated at 09:29 PM ---------- Previous update was at 09:22 PM ----------

If suppose in case you want to keep source formating you can do like this, though its bit lengthy

Code:
awk 'NF { s=""; n=split($0,D,/[^[:space:]]*/); $3 = $2 + 1000; for(i=1;i<=n;i++)s = sprintf("%s%s%s",s,D[i],$i); $0 = s}1' file

chr1    6845635    6846635    
chr1    7151431    7152431    
chr1    57756838    57757838    
chr1    85824530    85825530    
chr1    172100428    172101428


Last edited by Akshay Hegde; 10-08-2014 at 12:09 PM..
This User Gave Thanks to Akshay Hegde For This Post:
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk script to call another script based on second column entry

Hi I have a text file (Input.txt) with two column entries separated by tab as given below: aaa str1 bbb str2 cccccc str3 dddd str4 eee str3 ssss str2 sdf str3 hhh str1 fff str2 ccc str3 ..... ..... ..... (1 Reply)
Discussion started by: my_Perl
1 Replies

2. UNIX for Dummies Questions & Answers

Passing shell script parameter value to awk command in side the script

I have a shell script (.sh) and I want to pass a parameter value to the awk command but I am getting exception, please assist. diff=$1$2.diff id=$2 new=new_$diff echo "My id is $1" echo "I want to sync for user account $id" ##awk command I am using is as below cat $diff |... (1 Reply)
Discussion started by: Sarita Behera
1 Replies

3. Post Here to Contact Site Administrators and Moderators

Unable to pass shell script parameter value to awk command in side the same script

Variable I have in my shell script diff=$1$2.diff id=$2 new=new_$diff echo "My id is $1" echo "I want to sync for user account $id" ##awk command I am using is as below cat $diff | awk -F'~' ''$2 == "$id"' {print $0}' > $new I could see value of $id is not passing to the awk... (0 Replies)
Discussion started by: Ashunayak
0 Replies

4. Shell Programming and Scripting

Calling shell script within awk script throws error

I am getting the following error while passing parameter to a shell script called within awk script. Any idea what's causing this issue and how to ix it ? Thanks sh: -c: line 0: syntax error near unexpected token `newline' sh: -c: line 0: `./billdatecalc.sh ... (10 Replies)
Discussion started by: Sudhakar333
10 Replies

5. Shell Programming and Scripting

Passing awk variable argument to a script which is being called inside awk

consider the script below sh /opt/hqe/hqapi1-client-5.0.0/bin/hqapi.sh alert list --host=localhost --port=7443 --user=hqadmin --password=hqadmin --secure=true >/tmp/alerts.xml awk -F'' '{for(i=1;i<=NF;i++){ if($i=="Alert id") { if(id!="") if(dt!=""){ cmd="sh someScript.sh... (2 Replies)
Discussion started by: vivek d r
2 Replies

6. Shell Programming and Scripting

Help: How to convert this bash+awk script in awk script only?

This is the final first release of the dynamic menu generator for pekwm (WM). #!/bin/bash function param_val { awk "/^${1}=/{gsub(/^${1}="'/,""); print; exit}' $2 } echo "Dynamic {" for CF in `ls -c1 /usr/share/applications/*.desktop` do name=$(param_val Name $CF) ... (3 Replies)
Discussion started by: alexscript
3 Replies

7. Shell Programming and Scripting

Call shell script function from awk script

hi everyone i am trying to do this bash> cat abc.sh deepak() { echo Deepak } deepak bash>./abc.sh Deepak so it is giving me write simply i created a func and it worked now i modified it like this way bash> cat abc.sh (2 Replies)
Discussion started by: aishsimplesweet
2 Replies

8. Shell Programming and Scripting

want to pass parameters to awk script from shell script

Hello, I have this awk script that I want to execute by passing parameters through a shell script. I'm a little confused. This awk script removes duplicates from an input file. Ok, so I have a .sh file called rem_dups.sh #!/usr/bin/sh... (4 Replies)
Discussion started by: script_op2a
4 Replies

9. Shell Programming and Scripting

awk command in script gives error while same awk command at prompt runs fine: Why?

Hello all, Here is what my bash script does: sums number columns, saves the tot in new column, outputs if tot >= threshold val: > cat getnon0file.sh #!/bin/bash this="getnon0file.sh" USAGE=$this" InFile="xyz.38" Min="0.05" # awk '{sum=0; for(n=2; n<=NF; n++){sum+=$n};... (4 Replies)
Discussion started by: catalys
4 Replies

10. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies

Featured Tech Videos