仅排序文件的前100行

时间:2014-12-26 15:51:22

标签: shell sorting unix terminal

我有一个名为" mywords"的文本文件。包含此信息

  A
  A's
  AA's
  AB's
  ABM's
  ...

它有1000行,我想只排序前100行。其余的线应保持不变。只有一列单词。如何使用unix命令执行此操作?

2 个答案:

答案 0 :(得分:5)

(head -100 mywords|sort;tail -n +101 mywords) > mywords.100sorted

答案 1 :(得分:3)

(awk 'NR<=100' test.txt | sort;awk 'NR > 100' test.txt) > answer.txt  

NR表示行数

awk非常强大,它提供了许多内置变量来解决相关问题。

示例:

FS正则表达式用于分隔字段;也可以通过选项-Ffs进行设置。

当前记录中的NF字段数

当前记录的NR序号

当前文件中当前记录的FNR序号

FILENAME当前输入文件的名称

RS输入记录分隔符(默认换行符)

OFS输出字段分隔符(默认为空白)

ORS输出记录分隔符(默认换行符)

参考:man awk