我需要根据第二列(不是字符串的数字)对名称以.txt结尾的所有文件进行排序。所有文件都有两个整数列,我需要排序才能对相同的文件生效。
例如,假设file1.txt包含
1 33
2 55
3 22
和file2.txt包含
10 133
2 551
30 2200
我需要一个shell命令来处理两个* .txt文件(实际上我有100个文件)并影响它们如下:
file1.txt变为:
2 55
1 33
3 22
file2.txt变为:
30 2200
2 551
10 133
答案 0 :(得分:0)
如评论中所述:
for file in *.txt; do sort -k2nr -o "$file" "$file"; done
-k2nr
以反向数字顺序对字段2进行排序。 -o
选项后面跟着一个输入文件名(这里是唯一的输入文件名)安全地用排序的输出覆盖文件。