如何逐步读取行

时间:2013-05-06 12:44:14

标签: linux bash shell

我想写一个脚本,从文件中读取行以wt ^和p ^开头的行。 我能够得到wt ^但是我无法得到p ^ ... 并且有20个wt ^与相应的p ^现在我必须得到10个每个wt ^与其对应的p ^在两个不同的文件中,

我该怎么做?

cat $( ls unit-*-slides.txt | sort -n ) | grep "st^" | split -l 200

我使用了上面的代码

wt^blah blah
    p^blah blah blah blah
    p^blah blah blah blah
    p^blah blah blah blah
    p^blah blah blah blah
    p^blah blah blah blah blah blah
    p^blah blah blah blah blah blah blah blah
    p^blah blah blah blah blah blah
    p^blah blah blah blah blah blah
    p^blah blah blah blah blah blah

2 个答案:

答案 0 :(得分:1)

似乎你在p^之前有一些空格。我复制pested你的例子,这grep工作得很好 grep -E "[ ]*(wt\^|p\^)" <file>它考虑到在行开头之前可能有n个空格。您可以附加xargs

答案 1 :(得分:0)

使用此正则表达式^(wt\^)|(p\^)来匹配与wt^p^

相关的行

同样在您的帖子中,似乎p^的行在开头有spacetab,这可能是您的正则表达式不匹配的原因^p\^

相关问题