plan9front/rc/bin/redact

37 lines
467 B
Bash
Executable File

#!/bin/rc
rfork e
switch($#*){
case 0
n=1
case 1
n = $1
case *
echo usage: $0 [n] >[1=2]
exit usage
}
ifs='
'
p=`{echo -n $prompt(1) | sed 's/[.*+?[\]()|\^$\/\\]/\\&/g'}
awk '
BEGIN {
n='^$n^' + 1;
for(i = 0; i < n; i++)
a[i] = 0;
}
/^'^$p^'/ {
for(i = 0; i < n-1; i++)
a[i] = a[i+1];
a[n-1] = 0;
}
{
a[n-1] += length($0) + 1;
}
END {
s = 0;
for(i = 0; i < n; i++)
s += a[i];
for(i = 0; i < s; i++)
printf("\b");
}
' /dev/text