我想按第一个文件对文件进行排序,但最后一个字符是最重要的。
例如表单文件:
"AAAACTTTTT" 1 2
"AAAACAAAAA" 1 2 6 4
到:
"AAAACAAAAA" 1 2 6 4
"AAAACTTTTT" 1 2
我试过:
sort -k1,1 file
当然,这行不通,但我不知道该怎么做。你能帮我吗?也许一些秘密标志?
答案1
我想按域名对电子邮件地址列表进行排序(分组),例如所有“@xxx.com”,然后是所有“@yyy.com”(基于 makgun 的评论的解决方案)
rev emailist | sort | rev > emailistsorted
只获取唯一值
rev emailist | sort -u | rev > emailistsorted
答案2
如果文件不是太大,你可以使用 GNU 来执行此操作awk
:
{
count = split($1, arr, "");
key = ""
for (i = 1; i <= count; i++) {
key = arr[i] key;
}
lines[key] = $0;
}
END {
count = asort(lines);
for (i = 1; i <= count; i++) {
print lines[i];
}
}