我有一個文件trial.txt,我只想對其第四列進行排序而不更改其他列的順序。 我的文件內容是這樣的。對文件的單列進行排序而不干擾其他列
A user 9 12 ab
B user 2 9 cd
C user 5 13 da
我希望我的輸出看起來像這樣
A user 9 13 ab
B user 2 12 cd
C user 5 9 da
我試過這個。
sort -k 4 trial.txt
但它沒有按預期給出輸出。
我有一個文件trial.txt,我只想對其第四列進行排序而不更改其他列的順序。 我的文件內容是這樣的。對文件的單列進行排序而不干擾其他列
A user 9 12 ab
B user 2 9 cd
C user 5 13 da
我希望我的輸出看起來像這樣
A user 9 13 ab
B user 2 12 cd
C user 5 9 da
我試過這個。
sort -k 4 trial.txt
但它沒有按預期給出輸出。
使用:
sort -k4 -n -s trial.txt
除了k
選項,建議您使用-n
比較數字,-s
選項抑制不得已的比較。查看手冊瞭解更多信息。 另外,如果使用-r
選項來反轉排序模式,則您所需的輸出顯示爲降序。
我很抱歉對問題給出了錯誤的解釋。所以這是最終的答案。這很簡單:
awk
獲取文件trial.txt的第三列並將其保存在臨時文件中。
謝謝你的建議,但這仍然不起作用。因爲我使用-n來比較數字,但也不能正常工作,並且仍然給出與上面相同的輸出。我想用sed或awk來完成它。因爲,單獨排序不能做到這一點。請使用一些sed和awk命令來看看這個。幫助將非常感激。 – user7515829
對不起,我誤解了你的問題,我已經根據第4列對所有行進行了排序。 – Akash
這很好的阿卡什。因爲我被困在這個問題的邏輯上。現在我想,它可以通過使用awk命令完成。我很困惑如何使用數組和循環。 – user7515829