Linux sort 排序并取代原始档案

..

Linux Bash shell 常常会使用到 sort、uniq 等等的指令,而这些通常会使用暂存盘来处理~

想要档案排序后,覆蓋掉原始档案,可以使用:sort file > tmp; mv tmp file

有没有更快的作法呢?

Linux sort 排序并取代原始档案

上面使用的是 tmp 当暂存盘,不过 tmp 这些档名可能会不小心冲突到,所以通常会改良成下述:

  • sort file > file.$$ && mv file.$$ file

$$ 是 Shell 的 PID,所以暂存盘名会是 file.$PID~

不过,若是 sort 的话,自身就有带 -o 的命令,而且是可以取代自身档案内容是没问题的~

  • sort -o file file

若资料夹内有多个档案要 sort,就可以一行全做:

  • for f in *; do sort -o $f $f; done
想在手机阅读更多Linux资讯?下载【香港硅谷】Android应用
分享到Facebook