ฉันเพิ่งทราบ!
เทคนิคการกรองและฉันรักมัน น่าเสียดายที่ฉันไม่สามารถใช้งานได้ในโหมดบล็อกภาพ หวังว่าผู้เชี่ยวชาญบางคนที่นี่จะช่วยฉันออก
โดยทั่วไปฉันต้องการเรียงลำดับคอลัมน์เช่นที่สามด้านล่าง (เพียง MWE) และฉันไม่ต้องการรบกวนคอลัมน์อื่น ๆ เมื่อฉันจัดเรียง
ฉันพยายามกรอง ( !
) คอลัมน์ที่สามที่มองเห็น (บล็อกโหมด) เลือกคอลัมน์ผ่านsort
ยูทิลิตี้ แต่การเรียงลำดับค่อนข้างขยายเกินกว่าการเลือกนั่นคือทุกแถวจะถูกสลับสับเปลี่ยนไม่ใช่แค่ส่วนที่เลือกซึ่งเรียงลำดับเกินไปตามคอลัมน์แรก !
1. LARGEST 40
2. SECOND-LARGEST 168
3. MID 2.8
4. MID 540
5. MID 14.84
6. MID 40
7. SECOND-LEAST 64
8. LEAST 8
ฉันเลือกคอลัมน์สุดท้ายโดยใช้ visual-block และพูดว่าอะไร!sort --reverse
จะปรากฏ
'<,'>!sort --reverse
และผลลัพธ์ก็แปลกที่ตรงข้ามกับที่ฉันคาดไว้ ผลลัพธ์มีทั้งแถวที่เรียงลำดับ / สลับไม่ใช่แค่หนึ่งคอลัมน์และนั่นก็ขึ้นอยู่กับคอลัมน์แรกโดยไม่คำนึงถึงการเลือกคอลัมน์ที่สามของฉัน!
8. LEAST 8
7. SECOND-LEAST 64
6. MID 40
5. MID 14.84
4. MID 540
3. MID 2.8
2. SECOND-LARGEST 168
1. LARGEST 40
ยกเว้นกรณีที่เป็นไปไม่ได้อย่างอื่นผมอยากจะเป็นทางออกที่เป็นกลุ่ม + การจัดเรียงบริสุทธิ์มากกว่าเครื่องมือค่อนข้างขั้นสูงเช่น/sed
awk
สิ่งสำคัญคือต้องรู้จักตัวเองว่าโหมดบล็อกภาพนั้น จำกัด เมื่อเทียบกับโหมดภาพอย่างไร
sort
คำสั่งภายในเป็นกลุ่มดังนั้นคุณไม่จำเป็นต้องเรียกใช้ภายนอก!sort
เพื่อทำการเรียงลำดับปกติ