- 论坛徽章:
- 33
|
回复 1# aweAll
刚刚试了一下. 结果跟楼主的一样.
不过, 也发现了一点问题.
默认情况下, sort 把 "非空白到空白转换" 做为分段的依据.
但是, 注意, sort 并没有把任何一个字符做为了分隔符,
以楼主的文件为例, 第一列是单一 一个字母, 第二列是 "[空格]字母数字",
所以, 2.2 表示的是那个字母, 并没有错误, 2.3 才是那个数字.
但一旦指定 -t " ", 那么, 空格就不算在任何一段之内, 被忽略了.
楼主可以试试看.
- -t, --field-separator=SEP
- use SEP instead of non-blank to blank transition
复制代码- # cat -A 1.txt
- a a1$
- d d12$
- b c11$
- c h12$
- a b2$
- b f2$
- a g11$
- d e1$
- # sort -k2.1,2.1 1.txt
- a a1
- a b2
- a g11
- b c11
- b f2
- c h12
- d d12
- d e1
- # sort -k2.2,2.2 1.txt
- a a1
- a b2
- b c11
- d d12
- d e1
- b f2
- a g11
- c h12
- # sort -k2.3,2.3 1.txt
- a a1
- a g11
- b c11
- c h12
- d d12
- d e1
- a b2
- b f2
- # sort -k2.4,2.4 1.txt
- a a1
- a b2
- b f2
- d e1
- a g11
- b c11
- c h12
- d d12
复制代码
|
|