我很感激任何帮助,因为我是TCL的新手.我通过在CLI命令的输出上执行'regexp -all -line -inline'+标准来创建字符串列表.此列表的每个元素现在都以数字结尾,我想对每个字符串中此特定数字结尾的列表进行排序,但保留字符串的其余部分.一个接近的例子是必须按照ls -la文件的大小对' '命令的输出进行排序.我尝试了以下但它不起作用:
lsort -command "regexp -lineanchor {\d+$}" -integer $list
Run Code Online (Sandbox Code Playgroud)
在花了一天时间试图解决这个问题后,我决定问你们.你能帮忙吗?
说实话,我不明白你想要达到的目标-command "regexp -lineanchor {\d+$}".regexp -lineanchor {\d+$}如果您打算比较数字,该命令实际上应始终返回1.
如果要按其子列表的最后一个元素对列表进行排序,可以使用该-index选项.例如:
lsort -index end -integer {{x y 5} {a b 8} {c c 3} {u u 1} {x y 2}}
Run Code Online (Sandbox Code Playgroud)
收益:
{u u 1} {x y 2} {c c 3} {x y 5} {a b 8}
Run Code Online (Sandbox Code Playgroud)
如果您没有在子列表中拥有数据但是逐行拥有数据,那么您必须先使用split它,例如:
lsort -index end -integer [split $data "\n"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
616 次 |
| 最近记录: |