如何对目录中的所有文件执行排序?

alv*_*vas 4 unix sorting directory file cat

如何对目录中的所有文件执行排序?

我本可以在python中完成它,但似乎太麻烦了.

import os, glob
d = '/somedir/'

for f in glob.glob(d+"*"):
  f2 = f+".tmp"
  # unix~$ cat f | sort > f2; mv f2 f
  os.system("cat "+f+" | sort > "+f2+"; mv "+f2+" "+f)
Run Code Online (Sandbox Code Playgroud)

dev*_*ull 16

使用find-exec:

find /somedir -type f -exec sort -o {} {} \;
Run Code Online (Sandbox Code Playgroud)

要限制sort目录本身中的文件,请使用-maxdepth:

find /somedir -maxdepth 1 type f -exec sort -o {} {} \;
Run Code Online (Sandbox Code Playgroud)