小编lit*_*les的帖子

linux sort 'field skip' 选项未记录,但似乎有效

我正在将一个脚本从 AIX 移植到具有以下形式代码的 linux

grep <pattern> $LOG | sort -b +rn4 -5 +2 -3
Run Code Online (Sandbox Code Playgroud)

在 AIX 上,记录了这种排序语法,基本上 +a -b 语法意味着跳过字段并将 a 和 b 之间的字段视为排序键。

这在 linux 上不起作用,因为 linux sort 命令不喜欢在 +a 'skip fields' 参数中包含 'rn'(反向数字)标志。但这确实有效:

grep <pattern? $LOG | sort -b -rn +4 -5 +2 -3
Run Code Online (Sandbox Code Playgroud)

因此很明显,“田跳过逻辑Linux所支持的排序,但在手册页没有记录(即我可以看到,反正)。-k 选项适用于两个系统以指定关键字段编号。但这里有一个奇怪的怪癖。在 AIX 上

ls -l | sort -n +4
Run Code Online (Sandbox Code Playgroud)

生成按第 5 个字段(大小)排序的文件列表。但是在 linux 上,同样的命令会产生错误:

排序:无法读取:+4:没有那个文件或目录

ls -l | sort -n +4 -5
Run Code Online (Sandbox Code Playgroud)

不过确实有效。因此,显然 + 跳过 - 跳过键选择语法排序有效,但前提是您同时指定了开始和结束列跳过参数。它没有记录。所以,我的问题 - 此列跳过语法是否已弃用?它是否只是因为代码就在命令中而没有人知道将其取出而起作用?

linux sort

9
推荐指数
1
解决办法
136
查看次数

最初在 Linux 根目录中安装 grub 后,如何将其重新安装到 EFI 分区。我必须重新开始吗?

我的机器正在运行 Mint 15 KDE 64 位(GPT 分区,没有“安全启动”的 EFI 引导加载程序),我想在提交之前尝试使用 Mint 16。所以我将它安装到另一个分区并告诉它把 GRUB 放入/dev/sda6而不是/dev/sda.

然后我在我的 Mint 15 设置上运行 Ubuntu 引导修复工具,它检测到 Mint 16 并将其添加到 15 的 GRUB 菜单。到现在为止还挺好。我可以通过从我的 EFI 引导菜单中选择 15 的 GRUB 来引导 16(我为此使用了 rEFInd),并为我使用了 16。但是现在我想让 16 直接从 rEFInd 启动 - 所以它不会依赖于保持 15 左右。

引导修复仍然是这项工作的工具吗?

Mint 16 似乎知道如何直接处理 EFI 启动,所以我希望它有自己的工具来管理启动过程。有一个 KDE GRUB2 引导加载程序工具,但它似乎只是管理我分区中的 grub 菜单条目。它的“高级”选项卡上确实有一个“安装/恢复引导加载程序”选项,但该工具只列出了我的分区 - 并没有显示我的 EFI 分区。我想,因为我没有在安装时设置 EFI 引导,所以我也没有/boot/efi安装。

有关如何进行的任何建议?

grub2 linux-mint uefi

5
推荐指数
1
解决办法
6282
查看次数

标签 统计

grub2 ×1

linux ×1

linux-mint ×1

sort ×1

uefi ×1