Sortowanie pojedynczych wierszy Linux bash

Sortowanie pojedynczych wierszy Linux bash
G9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 39
0

Witam!

Potrzebuje posotrowac liste cyfr, która wygląda tak:

2 5
4 1
3 2

w ten sposób że po sortowaniu będzie:

2 5
1 4
2 3

jedynym moim pomyslem to jest podzielenie wierszy do osobnych plikow za pomocą polecenia split posortowanie w tych plikach liczb stosując formułke ** .. | xargs -n1 | sort |xargs > plik.txt ** po czym połączyć te pliki z powrotem juz posortowane.

Niestety jest to dość "brzydki" pomysł i nie uniwerskalny, ponieważ co będzie jak będą 4 wiersze do posortowania w ten sposó. A no trzeba będzie za kazdym razem dopisywac linijki kodu. Ma ktoś jakiś pomysł jak rozwiązać w inny sposób ten przykład?

Pozdrawiam gregg95

AL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1493
0

tr powinno się tu sprawdzić. Demo:

Kopiuj
echo '2 1' | tr ' ' '\n' | sort

Myślę, że do poskładania na powrót jakimś forem ;) Ogólnie polecam man tr ;)

hauleth
  • Rejestracja: dni
  • Ostatnio: dni
2
Kopiuj
| xargs -l1 bash -c 'echo $@ | tr " " "\n" | sort -n | tr "\n" " "; echo' --
G9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 39
0

winterfresh.. wrzucilem to w skrypt. Można powiedziec ze działa ale po nie kąd. Nie sortuje liczb dwucyfrowych. ale dziękuje za podpowiedz :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.