输入文件包含数据:
abc90
cd 18
bc14de
100def
输出应为:
bc14de
cd 18
abc90
100def
是否有sort
命令只能按字母数字数据中嵌入的数字进行排序?
我尝试了这个,但它不能按我的意愿运作:
# sort -g FileName
答案 0 :(得分:4)
您可以使用:
awk -v OFS='\t' '{rec=$0; gsub(/[^[:digit:]]+/, "", rec); print rec, $0}' file
| sort -nk1 | cut -d $'\t' -f2-
bc14de
cd 18
abc90
100def
awk
用于使用gsub
sort -nk1
用于在第一列上以数字方式对输入进行排序cut
最终用于截断第一列