LINUX.ORG.RU

shell script, сортировка строк


0

0

как написать скрипт, который сортирует строки по определённому полю, то есть есть файл со строками:

111 222 333 444
555 666 777 111
333 555 777 888

делаем сортировку по 4'му полю и получаем файл:
555 666 777 111
111 222 333 444
333 555 777 888

anonymous

ченнить типа такого:

#!/usr/bin/perl -w

open F, "<file.dat" or die "cant open: $!";
@m=<F>; close F;
@sort_m= map  { $_ -> [1]}
         sort {$a->[0] <=> $b->[0]}
         map  {[/\d+\s\d+\s\d+\s(\d+)/, $_]} @m;
open F, ">file.dat" or die "cant open: $!";
print F @sort_m;
close F;

vilfred ☆☆
()

а man sort уже читать не модно ???

sasha999 ★★★★
()

sort -k 4 -o outputfile input

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.