linux - 使用 IP 对文件进行排序
问题描述
我有一个包含以下几行的文件:
前任。
host1 169.254.228.92
host2 169.254.230.182
host3 169.254.163.79
我想先按 3 列升序排序,然后按 4
当我使用时:
sort -n -t . -k 3,3 -k 4,4 test.txt
它不能正常工作,只能按 3 列排序:
host13 169.254.10.154
host12 169.254.18.77
host14 169.254.74.233
有什么解决办法吗?
解决方案
尝试这个:
sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 test.txt
首先按第一个字段排序,仅第一个字段 (-k 1,1),然后按第二个且仅第二个字段 (-k 2,2),依此类推 (-k 3,3 -k 4,4 )。
或者只使用 sort -V。
推荐阅读
- ruby-on-rails - 如何在本地机器上为 Rails 配置 nginx 配置?
- php - 容器内的 Symfony Web 服务器在重新启动时导致问题
- c# - 在 Blazor wasm 中自动将访问令牌附加到 HTTP 客户端
- r - 如何计算 R 中特定观察值的两个变量之间的百分比?
- javascript - 2020 年使用 JavaScript 检测触摸设备并检测“可以悬停”
- php - 根据公共值重新排序 PHP 数组
- confluence - com.ctc.wstx.exc.WstxLazyException] 意外字符 '=' (code 61) (expected a name start character) 汇合错误
- django - django.db.utils.OperationalError:无法连接到服务器:Unix 域套接字“/tmp/.s.PGSQL.5432”上没有这样的文件?
- python - pyinstaller (auto-py-to-exe) 错误:项目输出不会移动到输出文件夹?
- linux - sk_buff中inner_transport_header和transport_header的区别