Sortowanie pojedynczych wierszy Linux bash

Sortowanie pojedynczych wierszy Linux bash
G9
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 6 lat
  • 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:prawie 11 lat
  • Ostatnio:około 3 lata
  • 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
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:3 dni
2
Kopiuj
| xargs -l1 bash -c 'echo $@ | tr " " "\n" | sort -n | tr "\n" " "; echo' --

edytowany 2x, ostatnio: hauleth
G9
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 6 lat
  • 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.