【问题标题】:how can you sort this based on prep time without sorting the first line, in unix with vi or vim?如何在 unix 中使用 vi 或 vim 对第一行进行排序而不对第一行进行排序?
【发布时间】:2021-12-17 01:18:14
【问题描述】:
name;ingredients;diet;prep time;cook time;flavor profile;course;state (region)
Lassi;yogurt,milk,nuts,sugar;vegetarian;5;5;sweet;dessert;Punjab (North)
Papad;urad dal,sev,lemon juice,chopped tomatoes;vegetarian;5;5;spicy;snack;Bihar (South)

...

【问题讨论】:

  • 这么多新的贡献者在 Vim 中提出 CSV 问题……

标签: unix vim vi


【解决方案1】:

你可能会逃脱:

:2,$sort n
  • 2,$ 范围确保您跳过第一行。
  • n 选项确保数字排序。

还有来自:help sort

使用 [n] 对行中的第一个十进制数进行排序(在 {pattern} 匹配之后或内部)。数字中包含一个前导“-”。

由于prep time 是第一个包含十进制数字的字段,因此您会得到正确的结果。

(如果您有任何包含数字的nameingredientdiet,这将失败。)

【讨论】:

    猜你喜欢
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    相关资源
    最近更新 更多