Print column based on pattern

Hi all,

how print on columns when contain un pattern specific,

e.g.

$cat file1


3234 234 2323
number1 number2 number3
123 242 124
124 number2 324
424 543 626
number1 3463 234
534 345 number3
6756 345 2352
334 345 234

need output file1 way

number1     number2          number3
3234               234                   2323
123                 242                    124
124                 543                     324
424                3463                  626
534                 345                     234
6756                345                     2352
334                 345                     234  

thank you,

Please explain in English what you are trying to do. I don't see a clear algorithm that fits the transformation of your sample input to the output you want.

Perhaps he means something like this?

awk '
  {
    for(j=1; j<=NF; j++) {
      if($j~/[[:alpha:]]/)
        H[j]=$j
      else 
        A[++C[j],j]=$j
    }
  } 
  END {
    n=NF
    for(j=1; j<=n; j++)
      $j=H[j]
    print
    for(i=1; i<=C[1]; i++) {
      for(j=1; j<=n; j++) 
        $j=A[i,j]
      print
    }
  }
' OFS='\t' file
number1 number2 number3
3234    234     2323
123     242     124
124     543     324
424     3463    626
534     345     234
6756    345     2352
334     345     234 
1 Like