有一个像这样的单词表;
123
b
1
4rr
f
k3j3
gg
然后我需要按字符串长度对这些单词进行排序(无论以数字还是字符串开头都可以)
输出应该是这样的:
b
1
f
gg
123
4rr
4rr
是否有一个排序命令可以让我做到这一点?
答案1
我假设您想在命令行上执行此操作。
大多数命令行工具以基于行的方式工作,因此使用 、和很简单awk
,例如sort
cut
另一个问题:
awk '{ print length, $0 }' testfile | sort -n | cut -d" " -f2-
分解:
# Print line-length and the line
awk '{ print length, $0 }' testfile |
# Sort numerically by line-length
sort -n |
# Remove line-length number
cut -d' ' -f2-
输出:
1
b
f
gg
123
4rr
k3j3
请参阅man awk
,info sort
以及info cut
了解更多信息。