Delete certain column awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Delete certain column awk
# 1  
Old 12-01-2011
Delete certain column awk

Hi experts,
I have a file, where inside this file contains multiple columns (up to 2000 columns):

Code:
0.05 0.54 2.02 0.21 1.39 2.92 0.31 1.75 3.34

I want to delete column 3,6,9,12,15,18,21... etc (any columns where can be divided from value 3),
so that results is like:

Code:
0.05 0.54 0.21 1.39 0.31 1.75

How can I do this ?
I have try :

Code:
awk '{ print $1, $2, $4, $5, $7, $8 }' OFS=' '

but I can not write manually columns no if I have 2000 columns.

Please help.
# 2  
Old 12-01-2011
Code:
nawk '{for(i=0;i<=NF;i=i+3){if(i!=0){printf("%s ",$i)}if(i==NF){printf("\n")}}}' inputfile

# 3  
Old 12-01-2011
The above commands did not delete the 3,6,9,.. etc columns, but print the 3,6,9.. columns.
# 4  
Old 12-01-2011
input.txt:
Code:
0.05 0.54 2.02 0.21 1.39 2.92 0.31 1.75 3.34
0.05 0.54 2.02 0.21 1.39 2.92 0.31 1.75 3.34
0.05 0.54 2.02 0.21 1.39 2.92 0.31 1.75 3.34

Code:
#! /usr/bin/perl -w
use strict;
my ($i, @x);
open I, "< input.txt";
open O, ">> output.txt";
for (<I>) {
    @x = split /\s+/,$_;
    for ($i=0; $i<=$#x; $i++) {
        (($i+1)%3 == 0) ? next : print O "$x[$i] ";
    }
    print O "\n";
}
close O;
close I;

output.txt:
Code:
0.05 0.54 0.21 1.39 0.31 1.75 
0.05 0.54 0.21 1.39 0.31 1.75 
0.05 0.54 0.21 1.39 0.31 1.75

# 5  
Old 12-01-2011
Quote:
Originally Posted by guns
The above commands did not delete the 3,6,9,.. etc columns, but print the 3,6,9.. columns.
Should be:
Code:
nawk '{for(i=1;i<=NF;i++){if(i%3!=0){printf("%s ",$i)}if(i==NF){printf("\n")}}}' inputfile

This User Gave Thanks to Franklin52 For This Post:
# 6  
Old 12-01-2011
Working Perfectly. Thanks !!
# 7  
Old 12-01-2011
try this..

Code:
 
nawk '{for(i=0;i<=NF;i++){if(i!=0 && i%3!=0){printf("%s ",$i)}if(i==NF){printf("\n")}}}' inputfile

This User Gave Thanks to itkamaraj For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need awk or Shell script to compare Column-1 of two different CSV files and print if column-1 matche

Example: I have files in below format file 1: zxc,133,joe@example.com cst,222,xyz@example1.com File 2 Contains: hxd hcd jws zxc cst File 1 has 50000 lines and file 2 has around 30000 lines : Expected Output has to be : hxd hcd jws (5 Replies)
Discussion started by: TestPractice
5 Replies

2. Shell Programming and Scripting

awk script to append suffix to column when column has duplicated values

Please help me to get required output for both scenario 1 and scenario 2 and need separate code for both scenario 1 and scenario 2 Scenario 1 i need to do below changes only when column1 is CR and column3 has duplicates rows/values. This inputfile can contain 100 of this duplicated rows of... (1 Reply)
Discussion started by: as7951
1 Replies

3. Shell Programming and Scripting

awk to Sum columns when other column has duplicates and append one column value to another with Care

Hi Experts, Please bear with me, i need help I am learning AWk and stuck up in one issue. First point : I want to sum up column value for column 7, 9, 11,13 and column15 if rows in column 5 are duplicates.No action to be taken for rows where value in column 5 is unique. Second point : For... (1 Reply)
Discussion started by: as7951
1 Replies

4. Shell Programming and Scripting

Problems with awk (fatal error) and paste (two variables into one column-by-column)

Hello, I have a script extracting columns of useful numbers from a data file, and manipulating the numbers with awk commands. I have problems with my script... 1. There are two lines assigning numbers to $BaseForAveraging. If I use the commented line (the first one) and let the second one... (9 Replies)
Discussion started by: vgbraymond
9 Replies

5. Shell Programming and Scripting

awk to sum a column based on duplicate strings in another column and show split totals

Hi, I have a similar input format- A_1 2 B_0 4 A_1 1 B_2 5 A_4 1 and looking to print in this output format with headers. can you suggest in awk?awk because i am doing some pattern matching from parent file to print column 1 of my input using awk already.Thanks! letter number_of_letters... (5 Replies)
Discussion started by: prashob123
5 Replies

6. Shell Programming and Scripting

awk Print New Column For Every Two Lines and Match On Multiple Column Values to print another column

Hi, My input files is like this axis1 0 1 10 axis2 0 1 5 axis1 1 2 -4 axis2 2 3 -3 axis1 3 4 5 axis2 3 4 -1 axis1 4 5 -6 axis2 4 5 1 Now, these are my following tasks 1. Print a first column for every two rows that has the same value followed by a string. 2. Match on the... (3 Replies)
Discussion started by: jacobs.smith
3 Replies

7. Shell Programming and Scripting

awk or sed: change the color of a column w/o screwing up column spacing

Hey folks. I wrote a little awk script that summarizes /proc/net/dev info and then pipes it to the nix column command to set up column spacing appropriately. Here's some example output: Iface RxMBytes RxPackets RxErrs RxDrop TxMBytes TxPackets TxErrs TxDrop bond0 9 83830... (3 Replies)
Discussion started by: ryran
3 Replies

8. Shell Programming and Scripting

AWK script to create max value of 3rd column, grouping by first column

Hi, I need an awk script (or whatever shell-construct) that would take data like below and get the max value of 3 column, when grouping by the 1st column. clientname,day-of-month,max-users ----------------------------------- client1,20120610,5 client2,20120610,2 client3,20120610,7... (3 Replies)
Discussion started by: ckmehta
3 Replies

9. Shell Programming and Scripting

Using tr, sed or awk to delete text from nth column only

Hi everyone, this is my first post here, I hope someone can help me. I have a file which I need to delete characters '_F3' from the end of the text in the first column. The problem is that the characters may also occur elsewhere in the file (i.e. second columns onwards). I tried sed (thinking I... (6 Replies)
Discussion started by: hlwright
6 Replies

10. Shell Programming and Scripting

for each different entry in column 1 extract maximum values from column 2 in unix/awk

Hello, I have 2 columns (1st column has multiple entries but the corresponding values in the column 2 may be the same or different.) however I want to extract unique values for each entry in column 1 by assigning the max value from column 2 SDF4 -0.211654 SDF4 0.978068 ... (1 Reply)
Discussion started by: Diya123
1 Replies
Login or Register to Ask a Question