我想根据源文件第三列的排序打印文件内容。
源文件.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
自从你标记了tcl
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