Встроенные поля сортировки

Я думаю, что это имеет некоторое отношение к файлам схемы gconf2, расположенным в /usr/share/gconf/schemas.

Попытайтесь зарегистрировать схемы снова:

$ sudo gconf-schemas --register-all

gconf-schemas(8) говорит:

--register-all  
      clean up the GConf database and register all schemas again.  
      This might be neccessary if your gconf database becomes corrupted.
9
27.04.2012, 19:00
4 ответа

Один способ использовать perl:

perl -lane 'printf qq[%s\n], join q[ ], sort @F' infile

Вывод:

ab bc
ab bc
bc cd ef
bc cd ef
ab bc cd
ab bc cd ef gh
8
27.01.2020, 20:05
  • 1
    , так как Вы используете -l, Вы не должны печатать новую строку. print join " ", sort @F будет достаточен. –  glenn jackman 27.04.2012, 20:20

Один способ использовать GNU awk:

awk '{ 
    split($0, arr); 
    asort(arr); 
    for (i=1; i<=length(arr); i++) { 
        printf "%s ", arr[i] }; 
        printf RS 
    }
' infile

Вывод:

ab bc 
ab bc 
bc cd ef 
bc cd ef 
ab bc cd 
ab bc cd ef gh
6
27.01.2020, 20:05

Вот еще одно решение perl, похожее на ответ @Birei, но более лаконичное:

$ perl -anle 'print "@{[sort @F]}"' file
ab bc
ab bc
bc cd ef
bc cd ef
ab bc cd
ab bc cd ef gh
2
27.01.2020, 20:05

В скрипте оболочки :

while read n    
do
   echo $(echo $n | tr " " "\n" | sort )
done < infile

(Что слишком сильно вилкирует, предопределяет решение perl или gnu awk)

1
27.01.2020, 20:05

Теги

Похожие вопросы