Bash:按前 4 列对 csv 文件进行排序

     2023-02-24     28

关键词:

【中文标题】Bash:按前 4 列对 csv 文件进行排序【英文标题】:Bash: sort csv file by first 4 columns 【发布时间】:2012-08-09 17:05:34 【问题描述】:

我有一个 csv 文件,其中的字段由“;”分隔。有 8 个字段,我想按前 4 列按升序对数据进行排序(首先按第 1 列排序,然后按第 2 列等)

如何在 linux 的命令行中执行此操作?

我尝试使用开放式办公室,但它只能让我选择 3 列。

编辑:在我想要对数据进行排序的字段中,三个字段包含带有数值的字符串,一个只有字符串。如何使用sort 命令指定它?

【问题讨论】:

【参考方案1】:

sort -k 将允许您定义排序键。来自man sort

-k, --key=POS1[,POS2]
       start a key at POS1 (origin 1), end it at POS2 (default end of line). 

所以

$ sort -t\; -k1,4

应该这样做。请注意,我已经转义了分号,否则 shell 会将其解释为语句结束。

【讨论】:

谢谢。 sort 是否还允许为每个字段指定我要按数字还是字母顺序排序? (见我上次的编辑)【参考方案2】:

试试:

sort -t\; -k 1,1n -k 2,2n -k 3,3n -k 4,4n test.txt

例如:

1;2;100;4
1;2;3;4
10;1;2;3
9;1;2;3

> sort -t\; -k 1,1n -k 2,2n -k 3,3n -k 4,4n temp3
1;2;3;4
1;2;100;4
9;1;2;3
10;1;2;3

【讨论】:

谢谢。这里1,1n是什么意思? 哦,好的。所以,假设字段 3 包含字符串,我会做 -k 3,3d 按字典顺序排序,对吧?

根据第一列对 CSV 文件进行排序

】根据第一列对CSV文件进行排序【英文标题】:SortCSVfilebasedonfirstcolumn【发布时间】:2014-12-0215:49:34【问题描述】:有没有办法使用一些shell命令根据第一列对csv文件进行排序?我有一个超过150k行的大文件,因此我可以在excel中... 查看详情

按列对csv进行排序

】按列对csv进行排序【英文标题】:sortcsvbycolumn【发布时间】:2011-01-0704:56:48【问题描述】:我想按日期对CSV表进行排序。开始只是一项简单的任务:importsysimportcsvreader=csv.reader(open("files.csv"),delimiter=";")forid,path,title,date,author,platf... 查看详情

bash按数字键对引用的csv文件进行排序

】bash按数字键对引用的csv文件进行排序【英文标题】:bashsortquotedcsvfilesbynumerickey【发布时间】:2014-09-0112:53:23【问题描述】:我有以下输入csv文件:"aaa","1","xxx""ccc,Inc.","6100","yyy""bbb","609","zzz"我希望按第二列作为数字排序,我试... 查看详情

PySpark Python使用列对数据框进行排序

】PySparkPython使用列对数据框进行排序【英文标题】:PySparkPythonSortingdataframeusingacolumn【发布时间】:2020-01-1112:53:51【问题描述】:所以我有2个问题我认为对于有PySpark经验的人来说应该是基本的,但我似乎无法解决它们。我的csv... 查看详情

Python - 读取 csv 并按列对数据进行分组

】Python-读取csv并按列对数据进行分组【英文标题】:Python-readingacsvandgroupingdatabyacolumn【发布时间】:2013-04-1902:56:47【问题描述】:我正在处理一个包含3列的csv文件,如下所示:timeStamp,value,label15:22:57,849,CPUpid=26298:percent15:22:57,4610... 查看详情

按列对python数组/recarray进行排序

】按列对python数组/recarray进行排序【英文标题】:Sortingapythonarray/recarraybycolumn【发布时间】:2011-10-1317:06:56【问题描述】:关于如何按给定列对整个数组/recarray进行排序,我有一个相当简单的问题。例如,给定数组:importnumpyasnp... 查看详情

在C#中按列对二维数组进行排序

】在C#中按列对二维数组进行排序【英文标题】:SortingtwodimensionalarraybycolumnsinC#【发布时间】:2022-01-2400:09:20【问题描述】:我想对二维数组进行排序。我不想订购第一个维度,而是订购内部维度。例如,如果初始数组是这样的... 查看详情

按r中的列对数据帧进行排序[重复]

】按r中的列对数据帧进行排序[重复]【英文标题】:Sortingdataframesbycolumnsinr[duplicate]【发布时间】:2012-07-2022:39:09【问题描述】:可能重复:Howtosortadataframebycolumn(s)inR我正在尝试按几列对data.frame进行排序df<-data.frame("Sp1"=c(7,4,2),"... 查看详情

使用超过 1 列对 excel 数据进行排序

】使用超过1列对excel数据进行排序【英文标题】:Sortingexceldatausingmorethan1column【发布时间】:2015-12-0313:20:51【问题描述】:我正在尝试使用2或3列对excel数据进行排序(如果您愿意,可以使用嵌套排序)。目前发生的情况是我得... 查看详情

如何在c#中按两列对DataTable进行排序

】如何在c#中按两列对DataTable进行排序【英文标题】:HowtosortDataTablebytwocolumnsinc#【发布时间】:2013-04-2413:13:23【问题描述】:我有一个如下所示的DataTable;|ID|ItemIndex|ItemValuece895bd9-9a92-44bd-8d79-986f991154a913ae7d714e-a457-41a8-8bb4-b5a0471c3d2... 查看详情

Matlab:如何使用另一个向量按其中一个列对结构进行排序

】Matlab:如何使用另一个向量按其中一个列对结构进行排序【英文标题】:Matlab:Howtosortastructbyoneofitscolumnsusinganothervector【发布时间】:2020-03-1217:07:10【问题描述】:如何以其中一个列等于某个向量的方式对结构进行排序?下面... 查看详情

在python中按大小对csv文件进行多列排序

】在python中按大小对csv文件进行多列排序【英文标题】:Sortingcsvfilebymultiplecolumnsbymagnitudeinpython【发布时间】:2015-10-2100:19:19【问题描述】:我想先对csv文件按一列排序,然后再按另一列排序。我已经尝试了一些在线方法来对具... 查看详情

bash方法从csv文件中删除最后4列

】bash方法从csv文件中删除最后4列【英文标题】:bashmethodtoremovelast4columnsfromcsvfile【发布时间】:2013-01-0307:40:14【问题描述】:有没有办法使用bash删除某些输入CSV文件的最后四列?最后四列的字段长度因行而异,因此仅从每行末... 查看详情

如何按列对多维数组进行排序?

】如何按列对多维数组进行排序?【英文标题】:Howtosortmultidimensionalarraybycolumn?【发布时间】:2013-12-0914:07:40【问题描述】:有没有办法使用sort()方法或任何其他方法按列对列表进行排序?假设我有清单:[[John,2],[Jim,9],[Jason,1]]... 查看详情

如何对大量 csv 文件进行排序以按特定顺序读取它们?

】如何对大量csv文件进行排序以按特定顺序读取它们?【英文标题】:Howtosortalotofcsvfilestoreadtheminaspecificorder?【发布时间】:2022-01-1217:38:24【问题描述】:您好,我有多个csv文件(很多)具有相同的名称(文件名),但末尾有一... 查看详情

如何按列对二维矩阵进行排序?

】如何按列对二维矩阵进行排序?【英文标题】:Howtosorta2dmatrixbycolumn?【发布时间】:2020-04-2018:04:50【问题描述】:我有以下代码,其中我对插入列中的每个元素都排序一个二维矩阵。例如:542413987620191816302912412592103041221161629271... 查看详情

使用特定列对 Jtable 项目进行排序 - JAVA

】使用特定列对Jtable项目进行排序-JAVA【英文标题】:OrderingJtableitemsusingaparticularcolumn-JAVA【发布时间】:2011-06-1702:39:55【问题描述】:尝试按星期几列对jtable排序,因为星期几名称在jtable上显示后不按顺序排列。Beans绑定已用于... 查看详情

基于列对二维向量数组进行排序

】基于列对二维向量数组进行排序【英文标题】:Sorting2DVectorArrayBasedOnaColumn【发布时间】:2016-04-0709:00:44【问题描述】:我有一个2d矢量数组,其中包含:rowidrbmain1026321112314644226153112我想根据其"main"-column值对每一行进行... 查看详情