如何不断的读取行(How to incrementally read the lines)

2019-10-18 03:00发布

我想编写一个脚本,从文件中读取行,其中符合重量^和P开始^。 我能够得到的重量^但我不能够得到P 1 ......并有20重量^与相应的p ^现在我已经拿到10每重量^其对应的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

Answer 1:

看来你之前有一些空间p^ 。 我复制你的pested例如,这grep的运行良好grep -E "[ ]*(wt\^|p\^)" <file>它考虑到可能存在的行开始之前空白的n个。 您可以附加xargs



Answer 2:

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

此外,从您的文章,似乎有线条p^有一个spacetab在一开始,这可能是为什么你的正则表达式不匹配的原因^p\^



文章来源: How to incrementally read the lines
标签: linux bash shell