我想按第一列对文件进行排序,但必须从 5 个字符开始排序。我怎样才能做到这一点?
我的文件:
"TTTTCTTACA" 1 1
"TTTTCTTACC" 1
"TTTTCTTACT" 1 1
"TTTTCTTAGC" 1
"TTTTCTTATT" 2
"TTTTCTTCAA" 1 1 1
"TTTTCTTCAG" 1 2 1
"TTTTCTTCAT" 1 2 2
"TTTTCTTCCT" 2
"TTTTCTTCGG" 2 2
"TTTTCTTCTA" 1
"TTTTCTTCTG" 1
"TTTTCTTCTT" 1 2
"TTTTCTTGAA" 1
"TTTTCTTGCT" 1 1 1
"TTTTCTTTAA" 1
"TTTTCTTTAG" 1 1
"TTTTCTTTCT" 1
"TTTTCTTTGC" 1
"TTTTCTTTGG" 1 1
"TTTTCTTTGT" 1 1 2 1
"TTTTCTTTTA" 1
Run Code Online (Sandbox Code Playgroud)
我正在尝试:
sort -k1,1 file | uniq -s 6 -w 5
Run Code Online (Sandbox Code Playgroud)
当然,这是行不通的。也许排序有一些标志,但我没有找到它们。你有什么想法吗?
sort -k1.5 file | uniq -s 6 -w 5
Run Code Online (Sandbox Code Playgroud)
我的排序是 GNU coreutils 8.22。我的排序的联机帮助页显示:
KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C
a character position in the field; both are origin 1, and the stop position defaults to the
line's end.
Run Code Online (Sandbox Code Playgroud)
因此,对于当前的排序命令,sort -k1,1 file使用第一个单词到第一个单词作为排序。
你想要的是(无论如何对于排序命令):
sort -k1.5 file | uniq -s 6 -w 5
Run Code Online (Sandbox Code Playgroud)
这将使用第一个单词的第五个字符,这就是您想要的。
| 归档时间: |
|
| 查看次数: |
10282 次 |
| 最近记录: |