我有一個巨大的文件,我想找到一個術語模型。我想將包含單詞模型的前5行傳送到另一個文件。我該如何使用Linux命令來做到這一點?獲取匹配特定模式的前n行(使用Linux命令)
回答
man grep
提到
-m NUM, --max-count=NUM
Stop reading a file after NUM matching lines. If the input is
standard input from a regular file, and NUM matching lines are
output, grep ensures that the standard input is positioned to
just after the last matching line before exiting, regardless of
the presence of trailing context lines. This enables a calling
process to resume a search.
因此可以使用
grep model old_file_name.txt -m 5 > new_file_name.txt
無需管道。 grep支持你自己需要的幾乎所有東西。
grep「model」filename |頭-n 5> newfile中
grep model [file] | head -n 5 > [newfile]
cat file | grep model | head -n 5 > outfile.txt
這很可怕,在運行'grep'之前,使用'cat'將首先將整個文件加載到內存中。只需使用文件參數調用'grep'即可。 – 2009-08-25 21:41:56
其他答案更好,但上面的評論是不正確的。 shell將啓動所有3個命令,而不用等待任何輸出。 – mark4o 2009-08-25 21:47:35
在Windows上,管道在命令行上可用,但交易是第一個程序運行並寫入文件。然後,下一個程序運行在這些結果上。這不是Linux/Unix的工作方式。 Unix不是腦損壞的。並不是首先將整個文件讀入內存。你從哪裏得到這個想法? – xcramps 2009-08-25 21:51:55
- 1. 匹配sed命令中的特定行
- 2. 使用grep命令匹配模式
- 3. 獲取具有匹配特定模式的連接列的行
- 4. bash命令來匹配n行
- 5. 行匹配和「n」(下一個)命令
- 6. 使用Java模式匹配提取特定鏈接模式
- 7. Linux命令獲取java.io.tmpdir的當前值
- 8. 使用sed命令,替換行,但不能匹配模式
- 9. 獲取行號匹配的模式
- 10. mod_rewrite,匹配特定模式
- 11. 在Linux中獲取當前命令
- 12. SunOS - (Bash)Grep命令獲取不包含模式的匹配行後
- 13. 獲取匹配特定CIDR
- 14. 的Java模式匹配特定模式來匹配
- 15. 如何使用perl腳本或命令行刪除與特定模式匹配的文件中的幾行?
- 16. awk中 - 再次使用特定的行來匹配模式
- 17. Linux命令獲取分配信息
- 18. 禁用特定命令的ido模式?
- 19. 匹配模式後修改第n行
- 20. 如何使用'cat'命令獲取文件的特定行?
- 21. awk命令來匹配多個模式
- 22. 獲取模式前行,將不會匹配pattern
- 23. 如何僅使用FINDSTR獲取匹配模式的行號
- 24. 在bash腳本中使用ls命令時的模式匹配
- 25. linux命令讓行規定的格式
- 26. Vim:在命令行模式下抽取到特定寄存器
- 27. 執行Linux命令和獲取PID
- 28. 獲取時區日期命令行linux
- 29. linux - 命令行獲取終端版本
- 30. 相匹配的特定模式
謝謝!不知道'-m'。 – seth 2009-08-25 21:43:59