首先使用小写字母对列表进行排序

我有一个带有名称的文件,我想按字母顺序对它们进行排序,但小写字母必须在大写字母之前。


因此,如果我有例如:


Any

ANA

Ana

它应分类为:


Ana

Any

ANA

如果可能的话,我想通过排序来实现这一点,它有什么选择吗?


我目前的排序方式:


cut -d";" -f2-3 $1 | paste - $1 | sort | cut -f2- >> sorted.txt

参数中给出的文件中的行$1如下所示:


12345;Name;Lastname


忽然笑
浏览 269回答 3
3回答

慕标琳琳

这就是我想要的:sort -t';'&nbsp;-k 2,2 <some-csv.log

慕容708150

如果您的input.txt类似于:AnyANABillBOBAna并且您希望您的输出为:AnaAnyBillANABOB然后,也许您可以尝试类似的方法:grep -E "[a-z]+" input.txt | sort&nbsp; > lower.txtgrep -wE "[A-Z]+" input.txt | sort > upper.txtcat lower.txt upper.txt

波斯汪

使用Perl,您可以说:perl -e 'print sort {&nbsp; &nbsp; ($ka = (split(/;/, $a))[1]) =~ tr/a-zA-Z/A-Za-z/;&nbsp; &nbsp; ($kb = (split(/;/, $b))[1]) =~ tr/a-zA-Z/A-Za-z/;&nbsp; &nbsp; $ka cmp $kb;} <>' input.txt
打开App,查看更多内容
随时随地看视频慕课网APP