ელემენტი უნდა იყოს დახარისხებული უნდა იყოს გარკვეულწილად
Linux- ის ტექსტურ ფაილში მონაცემების დალაგება შეიძლება დალაგებული ბრძანებით, რადგან თითოეული ელემენტი გარკვეულწილად არის გამიჯნული. ხშირად, მძიმით არის გამოყენებული გამყოფი ინფორმაციისთვის.
დახარისხება ძირითადი წესები
დალაგების ბრძანება ტექსტურ ფაილში ხელახლა გადანაწილდება რიცხვითი და ალფავიტის დასალაგებლად. ჩვეულებრივი წესების ნაგულისხმევი წესებია:
- ტექსტი, რომელიც იწყება ნომრით, ჩანს ტექსტის წინ, რომელიც იწყება წერილში; ქვედა ნომრები დალაგების პირველი.
- ტექსტი, რომელიც იწყება ასოებით, რომელიც გამოჩნდება ანბანის დასაწყისში, რომ ტექსტის სხვა ტექსტის პირველი ასო დალაგებულია ტექსტის დაწყებამდე, რომელიც იწყება მოგვიანებით ანბანის ასოებით.
- სადაც ტექსტი იწყება uppercase და lowercase instances of იმავე წერილში, shortcase მაგალითად არის დალაგებულია პირველი.
დახარისხება ტექსტური ფაილი
იმისათვის, რომ განაწილებული ხაზები delimited Linux ფაილი, თქვენ იყენებთ სახის ბრძანება ასე:
$ sort -k2 test.txtრომელიც აწესებს ფაილს "test.txt" მიხედვით სიმბოლოები დაწყებული მეორე სვეტში (k2 ეხება მეორე სვეტს). შეყვანის ფაილის შინაარსის გათვალისწინებაა:
ლედი გაგა, სათაური 118, ფასი $ 7.30 5, ჯონი ნაღდი, სათაური 482, ფასი $ 6.50, ჯეინ ჯეგერი, სათაური 610, ფასი $ 7.50 6, ელვის პრესლისი, სათაური 335, ფასი $ 7.30 7, ჯონ ლენონი, სათაური 271, ფასი $ 7.90 8, მაიკლ ჯექსონი, სათაური 373, ფასი $ 5.50რადგან ამ მაგალითში მეორე სვეტი შეიცავს პირველ და ბოლო სახელებს, დახარისხებული გამომავალი ხდება თითოეული პიროვნების პირველი სახელით მეორე სვეტში - ელვის, ჯონი, ჯონი, ჯასინი, ლედი, მაიკლ, მიკი და ტეილორი , როგორც ქვემოთაა ნაჩვენები:
ჯონ ლენონი, სათაური 271, ფასი $ 7.90 5, ჯონი ნაღდი, სათაური 482, ფასი $ 6.50 1, ჯასტინ ტიმბერლაკი, სათაური 545, ფასი $ 6.30 4, ლედი გაგა, სათაური 118, ფასი $ 6.30 8, მაიკლ ჯეკსონი, სათაური 373, ფასი $ 5.50 3, Mick Jagger, სათაური 610, ფასი $ 7.90 2, Taylor Swift, სათაური 723, ფასი $ 7.90თუ ფაილი ჩაწერეთ -k3 (ხაზის შინაარსიდან დაწყებული სვეტის 3-ის ნომრის სვეტის გამოყენებით), გამომავალია:
ჯეკ ლენონი, სათაური 271, ფასი $ 7.90 6, ელვის პრესლისი, სათაური 335, ფასი $ 6.30 8, მაიკლ ჯექსონი, სათაური 373, ფასი $ 5.50 5, ჯონი ნაღდი, სათაური 482, ფასი $ 6.50 1, ჯასტინ ტიმბერლაკი, სათაური 545, ფასი $ 6.30 3, Mick Jagger, სათაური 610, ფასი $ 7.90 2, Taylor Swift, სათაური 723, ფასი $ 7.90და
$ sort -k4 test.txtაწარმოებს სიას განაწილებული ფასი:
ლედი გაგა, სათაური 118, ფასი $ 6.30 6, ელვის პრესლისი, სათაური 335, ფასი $ 6.30 5, ჯონი ნაღდი, დასახელება 482, ფასი $ 6.50 2, Taylor Swift, სათაური 723, ფასი $ 7.90 3, Mick Jagger, სათაური 610, ფასი $ 7.90 7, ჯონ ლენონი, სათაური 271, ფასი $ 7.90დალაგების შეცვლა
-R ვარიანტი შეცვლის დახარისხას. მაგალითად, ზემოთ მოყვანილი შედეგების გამოყენებით:
$ sort -k4 -r test.txtშემოსავალი:
ჯონ ლენონი, სათაური 271, ფასი $ 7.90 3, Mick Jagger, სათაური 610, ფასი $ 7.90 2, Taylor Swift, სათაური 723, ფასი $ 7.90 5, ჯონი ნაღდი, სათაური 482, ფასი $ 6.50 6, ელვის პრესლის, სათაური 335, ფასი $ 6.30 4, ლედი გაგა, სათაური 118, ფასი $ 6.30 1, ჯასტინ ტიმბერლაკი, სათაური 545, ფასი $ 6.30 8, მაიკლ ჯექსონი, სათაური 373, ფასი $ 5.50სორტირებული ფაილის შენახვა
ფაილის დახარისხება არ შეინახავს. ფაილის დასალაგებლად დახარისხებული სიის შენახვა, იყენებთ გადამისამართების ოპერატორს:
sort -k4 -r test.txt> test_new.txtსადაც "test_new.txt" არის ახალი ფაილი.
სტრიმინგის გამოყვანის დახარისხება
თქვენ ასევე შეგიძლიათ გამოიყენოთ დალაგების ბრძანება ნაკადიდან გამომდინარე, როგორიცაა მილის ოპერატორი:
$ ls -al | sort -r -n -k5ეს კი ls command- ის მიერ შექმნილ ფაილთა ჩამონათვალს, ფაილის ზომათ, უდიდეს ფაილებს იწყებს. -n ოპერატორი განსაზღვრავს რიცხვითი დახარისხების გარდა, ვიდრე ალფავიტური.