소스 파일의 세 번째 열 정렬을 기준으로 파일 내용을 인쇄하고 싶습니다.
소스 파일.txt:
Manav Kumaom Fre
shailesh himadri aif
manisha Kailash mac
Ravi Jwala blu
Prakash Ojha Zan
Mahi Aulakh yep
새 파일의 세 번째 열에 따라 정렬된 파일 내용을 인쇄하고 싶습니다.
원하는 출력:
shailesh himadri aif
Ravi Jwala blu
Manav Kumaom Fre
manisha Kailash mac
Mahi Aulakh yep
Prakash Ojha Zan
답변1
이 시도,
sort -k3 sourcefile.txt
-k
주요 위치/필드별로 정렬합니다.
답변2
태그한 이후로티클
set filename "sourcefile.txt"
set fh [open $filename r]
set data [split [read -nonewline $fh] \n]
close $fh
set sorted [lsort -index 2 -dictionary $data]
puts [join $sorted \n]
각 줄의 세 번째 단어를 기준으로 사전순으로 정렬합니다( ) -index 2
. 각 줄이 유효한 목록이라고 가정합니다. 이것은 순진할 수 있습니다. 이것이 더 안전할 것입니다.
set lines [split [read -nonewline $fh] \n]
set data [lmap line $lines {split $line}]
산출
shailesh himadri aif
Ravi Jwala blu
Manav Kumaom Fre
manisha Kailash mac
Mahi Aulakh yep
Prakash Ojha Zan