在bash中按行号保留文本文件行

时间:2015-02-15 14:02:06

标签: bash

有两个文件。第一个文件(称为k.txt)看起来像这样

lineTTY
lineRTU
lineERT
.....furtherline like this...

另一个文件(称为w.txt)包含应保留的行索引。它看起来像:

2
9
12

后一个文件中的索引已排序。有没有办法在bash中快速执行此操作,因为我的文件超过100万行?

每一行都是文本文件中矩阵的行,只有另一个文件中指定的特定行应该在矩阵中。

1 个答案:

答案 0 :(得分:0)

我认为你需要的是:

cat w.txt | xargs  -i{} sed -n '{}p' k.txt

如果您还必须对文件进行排序,那么

sort -g w.txt | xargs  -i{} sed -n '{}p' k.txt