为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

忽然笑 2021-04-05 20:17:52
我有一个带有名称的文件,我想按字母顺序对它们进行排序,但小写字母必须在大写字母之前。因此,如果我有例如:AnyANAAna它应分类为:AnaAnyANA如果可能的话,我想通过排序来实现这一点,它有什么选择吗?我目前的排序方式:cut -d";" -f2-3 $1 | paste - $1 | sort | cut -f2- >> sorted.txt参数中给出的文件中的行$1如下所示:12345;Name;Lastname
查看完整描述

3 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

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


查看完整回答
反对 回复 2021-04-16
?
慕容708150

TA贡献1831条经验 获得超4个赞

如果您的input.txt类似于:


Any

ANA

Bill

BOB

Ana

并且您希望您的输出为:


Ana

Any

Bill

ANA

BOB

然后,也许您可以尝试类似的方法:


grep -E "[a-z]+" input.txt | sort  > lower.txt

grep -wE "[A-Z]+" input.txt | sort > upper.txt

cat lower.txt upper.txt


查看完整回答
反对 回复 2021-04-16
?
波斯汪

TA贡献1811条经验 获得超4个赞

使用Perl,您可以说:


perl -e '

print sort {

    ($ka = (split(/;/, $a))[1]) =~ tr/a-zA-Z/A-Za-z/;

    ($kb = (split(/;/, $b))[1]) =~ tr/a-zA-Z/A-Za-z/;

    $ka cmp $kb;

} <>' input.txt


查看完整回答
反对 回复 2021-04-16
  • 3 回答
  • 0 关注
  • 268 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信