我尝试了几件事情,但似乎没有取得任何进展 - 我有一个包含一些数据行的文本文件,并且我想要从那个文件中获取一些数据行。每行都有一个唯一的标识符,我可以使用grep命令进行匹配。
如果我使用
它可以完成任务并获取我想要的目标行,但是,我希望按照我指定的顺序排列这些行 - 从这个例子中,我想先有name1行,然后是name2行,然后是name3行,最后是name4行。
但是,例如在我的原始文件中,行的顺序是name2,然后是name4,然后是name3,然后是name1,输出文件似乎也按照这个顺序排列了。
是否有一种简单的方法来排序grep?
id是块排序的,因此所有具有相同名称的行都相邻出现。
感谢任何建议!
如果我使用
grep 'name1\|name2\|name3\|name4' file.txt > newfile.txt
它可以完成任务并获取我想要的目标行,但是,我希望按照我指定的顺序排列这些行 - 从这个例子中,我想先有name1行,然后是name2行,然后是name3行,最后是name4行。
但是,例如在我的原始文件中,行的顺序是name2,然后是name4,然后是name3,然后是name1,输出文件似乎也按照这个顺序排列了。
是否有一种简单的方法来排序grep?
id是块排序的,因此所有具有相同名称的行都相邻出现。
感谢任何建议!
grep
不支持这个需求。你可能需要遍历单词并逐个使用grep
进行匹配。 - fedorqui