我正在尝试编写一个循环,读取文本文件并打印以(t:)开头的所有行。该循环最多应打印200行包含(t:)单词的输出文件。以(t:)开头的其余单词应在其他output.file中打印如何执行此操作?
基本上脚本应该做的是它不应该打印超过200行。如果超过200行,则其余行应打印到另一个输出文件中。
例如
文本文件包含
(t:) should print in other output.
sfsfsaff
(t:) blablabla
(t:) should print in other output.
(t:) blablalbalbalbalba
blalblabalbalbab
balbalbablaba
balbablalbalba
balbalbalbab
ablablalbab.
(t:) blablabla
(t:) blablabla
输出.txt
(t:) should print in other output.
(t:) blablabla
(t:) should print in other output.
(t:) blablalbalbalbalba
(t:) blablabla
(t:) blablabla
最佳答案
你甚至不需要一个循环。您可以使用现有的工具,并将它们结合在良好的OL’UNIX传统中:
cat inputfile | grep "^t\:" | split -l 200
当然,如果输出中不需要前导
t:
,您仍然可以进行过滤等修改…有关更多详细信息,请阅读
grep
和split
命令的手册页…