решение awk для произвольного количества строк, показанных с начала и с конца (измените n=3
, чтобы установить количество):
$ seq 99999 | awk -v n=3 'NR <= n; NR > n { a[NR] = $0; delete a[NR-n]; }
END { print "..."; for (i = NR-n+1; i <= NR; i++) if (i in a) print a[i]; }'
1
2
3
...
99997
99998
99999
Как написано, начальная и конечная части не будут не перекрываться, даже если ввод короче 2*n
строк.
В некоторых реализациях awk также работает использование for (x in a) print a[x];
в части END
. Но в целом не гарантируется возврат записей массива в правильном порядке и, например,. мямлить.
Оказалось, что это банальная путаница с quilt diff
и -P
и [file...]
в конце команды quilt diff
. По-видимому, префикс ./
перед именем файла патча нарушает разрешение quilt в пределах ./series
при использовании -P
, или, скорее, -P
вообще не ожидает ./
. Поэтому правильный синтаксис для:
quilt diff -P./0002-Enable-debugging-symbols-in-the-build.patch
Есть:
quilt diff -P 0002-Enable-debugging-symbols-in-the-build.patch
Теперь разница отображается, как и ожидалось.