-1

希望文件中的每一行重复固定次数并添加升序,如下所示:

我有

wwx.domain.com/pageA/?page=1
wwx.domain.com/pageB/?page=1
wwx.domain.com/pageC/?page=1

我想

wwx.domain.com/pageA/?page=1
wwx.domain.com/pageA/?page=2
wwx.domain.com/pageA/?page=3
wwx.domain.com/pageB/?page=1
wwx.domain.com/pageB/?page=2
wwx.domain.com/pageB/?page=3
wwx.domain.com/pageC/?page=1
wwx.domain.com/pageC/?page=2
wwx.domain.com/pageC/?page=3

我怎样才能做到这一点?

4

2 回答 2

2
awk '{ sub(/.$/,""); for(i=1; i<4; i++) print $0 i }' inputfile > outputfile

说明:从输入行中删除最后一个字符,并在循环中打印(修改的)输入行,后跟循环索引。

于 2021-06-22T15:49:54.633 回答
0

这可能对您有用(GNU sed):

sed -E 'h;:a;s/[^\n]*/&/3;t;x;s/(.*=)(.*)/echo "\1$((\2+1))"/e;x;G;ta' file

当模式空间包含少于 n 行(在本例中为 3)行时,追加当前行,将最后一个字段增加 1。

该解决方案使用保持空间来保留最后增加的行,并使用 shell 算法来增加行的最后一个字段。

于 2021-06-23T09:21:44.560 回答