根据第二列对多个文件进行递减排序



我需要根据第二列(这是一个数字而不是字符串)对所有名称以.txt结尾的文件进行排序。所有文件都有两个整数列,我需要排序在相同的文件上生效。

例如,假设file1.txt包含

1            33
2            55
3            22

和file2.txt包含

10            133
2             551
30            2200

我需要一个shell命令来处理*.txt文件(实际上我有100个这样的文件),并按如下方式影响它们:

中就变成:

2            55
1            33
3            22

file2.txt就变成:

30            2200
2             551
10            133

如注释所述:

for file in *.txt; do sort -k2nr -o "$file" "$file"; done

-k2nr在字段2上按反向数字顺序排序。-o选项后面跟着一个输入文件名(这里是唯一的输入文件名),用排序后的输出安全地覆盖文件。

最新更新