1

我想编写一个脚本,从文件中读取行,其中行以 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
4

2 回答 2

1

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

于 2013-05-06T12:54:42.067 回答
0

使用此正则表达式^(wt\^)|(p\^)来匹配带有wt^或的行p^

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

于 2013-05-06T12:46:02.430 回答