给定输入

echo 1,2,3,4,5,6,7,8,9,...100

如果我想剪切第 5 列,我可以做到

切 -d, -f-4,6-

如果我想剪切多个非连续列(如 5、7 等)怎么办
有一个类轮吗?

最佳答案

您应该能够直接在现有的 -f 规范中继续序列。

要同时跳过 5 和 7,请尝试:

cut -d, -f-4,6-6,8-

当您跳过单个连续列时,这也可以写为:
cut -d, -f-4,6,8-

为了继续下去,如果你想跳过 5、7 和 11,你可以使用:
cut -d, -f-4,6-6,8-10,12-

从更清晰的角度来看,当您使用分别位于序列列表开头/结尾的开始/结束列时,更容易形象化。例如,以下将打印第 2 到 20 列,跳过第 5 和 11 列:
cut -d, -f2-4,6-10,12-20

因此,这将打印“2 到 4”,跳过 5,“6 到 10”,跳过 11,然后是“12 到 20”。

关于bash - 使用 cut 命令删除多列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13690461/

10-13 07:25