Visit Our UNIX and Linux User Community


How to print the first 7 characters of each column


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to print the first 7 characters of each column
# 1  
Old 10-03-2012
How to print the first 7 characters of each column

Hello all,

I have a data like this:

Code:
X:04252	X:05524	X:04176
X:05509	X:05524	X:04674-
X:1662912	X:10181
X:16491	X:05506

X:05216-	X:05488

X:46872	X:08471[]
X:04834	X:30170

The except result is like this:

Code:
X:04252	X:05524	X:04176
X:05509	X:05524	X:04674
X:16629	X:10181
X:16491	X:05506

X:05216	X:05488

X:46872	X:08471
X:04834	X:30170

That is to say, I want to print the first 7 characters of each column (and lines that including the empty lines). Everybody who knows, please give a hand. Thanks in advance!

Last edited by Scrutinizer; 10-04-2012 at 03:32 AM.. Reason: code tags
# 2  
Old 10-03-2012
Code:
awk '{print substr($0,1,7)}' inputfile

My bad. Each column is
Code:
awk '{for(i=1;i<=NF; i++) {$i=substr($i,1,7) }
       OFS=" "; print $0} ' infile


Last edited by jim mcnamara; 10-03-2012 at 11:57 PM.. Reason: Did not read original requirements carefully.
This User Gave Thanks to jim mcnamara For This Post:
# 3  
Old 10-03-2012
Code:
awk '{for(i=1;i<=NF;i++) $i=substr($i,1,7)}1' file

This User Gave Thanks to elixir_sinari For This Post:
# 4  
Old 10-04-2012
It works! Thanks a lot!

Quote:
Originally Posted by jim mcnamara
Code:
awk '{print substr($0,1,7)}' inputfile

My bad. Each column is
Code:
awk '{for(i=1;i<=NF; i++) {$i=substr($i,1,7) }
       OFS=" "; print $0} ' infile

Quote:
Originally Posted by elixir_sinari
Code:
awk '{for(i=1;i<=NF;i++) $i=substr($i,1,7)}1' file


Previous Thread | Next Thread
Test Your Knowledge in Computers #148
Difficulty: Easy
A free derivative of BSD Unix, 1992BSD, was released in 1992 and led to the NetBSD and FreeBSD projects.
True or False?

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 to print column number while ignoring alpha characters

I have the following script that will print column 4 ("25") when column 1 contains "123". However, I need to ignore the alpha characters that are contained in the input file. If I were to ignore the characters my output would be column 3. What is the best way to print my column of interest... (3 Replies)
Discussion started by: ncwxpanther
3 Replies

3. 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

4. Shell Programming and Scripting

Remove the first character from the fourth column only if the column has four characters

I have a file as follows ATOM 5181 N AMET K 406 12.440 6.552 25.691 0.50 7.37 N ATOM 5182 CA AMET K 406 13.685 5.798 25.578 0.50 5.87 C ATOM 5183 C AMET K 406 14.045 5.179 26.909 0.50 5.07 C ATOM 5184 O MET K... (14 Replies)
Discussion started by: hasanabdulla
14 Replies

5. Shell Programming and Scripting

Print every 5 4th column values as separate row with different first column

Hi, I have the following file, chr1 100 200 20 chr1 201 300 22 chr1 220 345 23 chr1 230 456 33.5 chr1 243 567 90 chr1 345 600 20 chr1 430 619 21.78 chr1 870 910 112.3 chr1 914 920 12 chr1 930 999 13 My output would be peak1 20 22 23 33.5 90 peak2 20 21.78 112.3 12 13 Here the... (3 Replies)
Discussion started by: jacobs.smith
3 Replies

6. Shell Programming and Scripting

awk command to print only selected rows in a particular column specified by column name

Dear All, I have a data file input.csv like below. (Only five column shown here for example.) Data1,StepNo,Data2,Data3,Data4 2,1,3,4,5 3,1,5,6,7 3,2,4,5,6 5,3,5,5,6 From this I want the below output Data1,StepNo,Data2,Data3,Data4 2,1,3,4,5 3,1,5,6,7 where the second column... (4 Replies)
Discussion started by: ks_reddy
4 Replies

7. Shell Programming and Scripting

comparing column of two different files and print the column from in order of 2nd file

Hi friends, My file is like: Second file is : I need to print the rows present in file one, but in order present in second file....I used while read gh;do awk ' $1=="' $gh'" {print >> FILENAME"output"} ' cat listoffirstfile done < secondfile but the output I am... (14 Replies)
Discussion started by: CAch
14 Replies

8. Shell Programming and Scripting

print first few lines, then apply regex on a specific column to print results.

abc.dat tty cpu tin tout us sy wt id 0 0 7 3 19 71 extended device statistics r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device 0.0 133.2 0.0 682.9 0.0 1.0 0.0 7.2 0 79 c1t0d0 0.2 180.4 0.1 5471.2 3.0 2.8 16.4 15.6 15 52 aaaaaa1-xx I want to skip first 5 line... (4 Replies)
Discussion started by: kchinnam
4 Replies

9. Shell Programming and Scripting

find expression with awk in only one column, and if it fits, print whole column

Hi. How do I find an expression with awk in only one column, and if it fits, then print that whole column. 1 apple oranges 2 bannanas pears 3 cats dogs 4 hesaid shesaid echo "which number:" read NUMBER (user inputs number 2 for this example) awk " /$NUMBER/ {field to search is field... (2 Replies)
Discussion started by: glev2005
2 Replies

10. Shell Programming and Scripting

Question about sort specific column and print other column at the same time !

Hi, This is my input file: ali 5 usa abc abu 4 uk bca alan 6 brazil bac pinky 10 utah sdc My desired output: pinky 10 utah sdc alan 6 brazil bac ali 5 usa abc abu 4 uk bca Based on the column two, I want to do the descending order and print out other related column at the... (3 Replies)
Discussion started by: patrick87
3 Replies

Featured Tech Videos