ref: e5de0d457a42bd4f6e90f3b95a735b51330cc1b2
parent: 58b6cdfdeb10d205464e568af0c097ae908a7ea5
author: aiju <devnull@localhost>
date: Fri Feb 24 19:56:26 EST 2017
add redact(1)
--- /dev/null
+++ b/rc/bin/redact
@@ -1,0 +1,36 @@
+#!/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
--
⑨