给定输入
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/