reg-test refactor iterate

This commit is contained in:
John Kerl 2020-11-22 00:46:52 -05:00
parent 8bb224ea5c
commit 6f88875403
18 changed files with 8642 additions and 1197 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,105 @@
run_mlr --from $indir/abixy put '
func f(m) {
dump m;
sum = 0;
for (k, v in m) {
sum += k
}
return sum
}
@v[$i] = $a;
$y = f(@v)
'
run_mlr --from $indir/abixy put '
subr s(m) {
dump m;
sum = 0;
for (k, v in m) {
sum += k
}
@sum = sum;
}
@v[$i] = $a;
call s(@v);
$y = @sum;
'
run_mlr --from $indir/abixy-het put 'func f(x) {return {"a":x,"b":x**2}}; map o = f($x); $* = o'
run_mlr --from $indir/abixy-het put -q 'func f(x) {return x**2}; var z = f($x); dump z'
run_mlr --from $indir/abixy-het put -q 'func f(x) {map m = {NR:x};return m}; z = f($y); dump z'
mlr_expect_fail --from $indir/abixy put '
func f(int x): map {
if (NR==2) {
return 2
} else {
return {}
}
}
$y=f($x)
'
run_mlr --from $indir/abixy put '
func f(int x): map {
if (NR==200) {
return 2
} else {
return {}
}
}
$y=f($i)
'
mlr_expect_fail --from $indir/abixy put '
func f(int x): map {
if (NR==200) {
return 2
} else {
return {}
}
}
$y=f($x)
'
run_mlr --from $indir/abixy put '
func f(int x): var {
if (NR==2) {
return 2
} else {
return {}
}
}
$y=f($i)
'
mlr_expect_fail --from $indir/abixy put '
func f(int x): var {
if (NR==2) {
return 2
} else {
return {}
}
}
$y=f($x)
'
mlr_expect_fail --from $indir/abixy put '
func f(x): int {
# fall-through return value is absent-null
}
$y=f($x)
'
mlr_expect_fail --from $indir/abixy put '
int a = 1;
var b = a[2]; # cannot index localvar declared non-map
'
# This one is intended to particularly look at freeing, e.g. with './reg_test/run --valgrind'.
run_mlr --oxtab --from $indir/abixy-het put '
$* = mapdiff(
mapsum($*, {"a": "newval"}),
{"b": "nonesuch"},
)
'

View file

@ -0,0 +1,76 @@
# ----------------------------------------------------------------
announce OOSVAR-FROM-SREC ASSIGNMENT
run_mlr put -v '@v = $*' /dev/null
run_mlr put -v '@v[1] = $*' /dev/null
run_mlr put -v '@v[$2] = $*' /dev/null
run_mlr put -v 'NR == 3 {@v = $*}' /dev/null
run_mlr put -v 'NR == 3 {@v[1] = $*}' /dev/null
run_mlr put -v 'NR == 3 {@v[$2] = $*}' /dev/null
run_mlr --oxtab put -q '@v = $*; end {emitp @v }' $indir/abixy-het
run_mlr --oxtab put -q '@v[$a] = $*; end {emitp @v }' $indir/abixy-het
run_mlr --oxtab put -q '@v[$a] = $*; end {emitp @v, "a" }' $indir/abixy-het
run_mlr --oxtab put -q '@v[$a][$b] = $*; end {emitp @v }' $indir/abixy-het
run_mlr --oxtab put -q '@v[$a][$b] = $*; end {emitp @v, "a" }' $indir/abixy-het
run_mlr --oxtab put -q '@v[$a][$b] = $*; end {emitp @v, "a", "b"}' $indir/abixy-het
# ----------------------------------------------------------------
announce SREC-FROM-OOSVAR ASSIGNMENT
run_mlr put -v '$* = @v ' /dev/null
run_mlr put -v '$* = @v[1] ' /dev/null
run_mlr put -v '$* = @v[$2]' /dev/null
run_mlr put -v 'NR == 3 {$* = @v }' /dev/null
run_mlr put -v 'NR == 3 {$* = @v[1] }' /dev/null
run_mlr put -v 'NR == 3 {$* = @v[$2]}' /dev/null
run_mlr put '@v[NR] = $a; NR == 7 { @v = $*} ; $* = @v' $indir/abixy-het
# ----------------------------------------------------------------
announce OOSVAR-FROM-OOSVAR ASSIGNMENT
run_mlr put -v '@u = @v' /dev/null
run_mlr put -v '@u = @v[1]' /dev/null
run_mlr put -v '@u[2] = @v' /dev/null
run_mlr put -v '@u[2] = @v[1]' /dev/null
run_mlr put -v 'begin { @u = @v }' /dev/null
run_mlr put -v 'begin { @u = @v[1] }' /dev/null
run_mlr put -v 'begin { @u[2] = @v }' /dev/null
run_mlr put -v 'begin { @u[2] = @v[1] }' /dev/null
run_mlr put -v 'NR == 3 { @u = @v }' /dev/null
run_mlr put -v 'NR == 3 { @u = @v[1] }' /dev/null
run_mlr put -v 'NR == 3 { @u[2] = @v }' /dev/null
run_mlr put -v 'NR == 3 { @u[2] = @v[1] }' /dev/null
run_mlr put -v 'end { @u = @v }' /dev/null
run_mlr put -v 'end { @u = @v[1] }' /dev/null
run_mlr put -v 'end { @u[2] = @v }' /dev/null
run_mlr put -v 'end { @u[2] = @v[1] }' /dev/null
run_mlr put -q '@s += $i; @t=@s; end{dump; emitp@s; emitp @t}' $indir/abixy
run_mlr put -q '@s[1] += $i; @t=@s; end{dump; emitp@s; emitp @t}' $indir/abixy
run_mlr put -q '@s[1] += $i; @t=@s[1]; end{dump; emitp@s; emitp @t}' $indir/abixy
run_mlr put -q '@s[1] += $i; @t[3]=@s; end{dump; emitp@s; emitp @t}' $indir/abixy
run_mlr put -q '@s[1] += $i; @t[3]=@s[1]; end{dump; emitp@s; emitp @t}' $indir/abixy
run_mlr put -q '@s[1][2] += $i; @t=@s; end{dump; emitp@s; emitp @t}' $indir/abixy
run_mlr put -q '@s[1][2] += $i; @t=@s[1]; end{dump; emitp@s; emitp @t}' $indir/abixy
run_mlr put -q '@s[1][2] += $i; @t=@s[1][2]; end{dump; emitp@s; emitp @t}' $indir/abixy
run_mlr put -q '@s[1][2] += $i; @t[3]=@s; end{dump; emitp@s; emitp @t}' $indir/abixy
run_mlr put -q '@s[1][2] += $i; @t[3]=@s[1]; end{dump; emitp@s; emitp @t}' $indir/abixy
run_mlr put -q '@s[1][2] += $i; @t[3]=@s[1][2]; end{dump; emitp@s; emitp @t}' $indir/abixy
run_mlr put -q '@s[1][2] += $i; @t[3][4]=@s; end{dump; emitp@s; emitp @t}' $indir/abixy
run_mlr put -q '@s[1][2] += $i; @t[3][4]=@s[1]; end{dump; emitp@s; emitp @t}' $indir/abixy
run_mlr put -q '@s[1][2] += $i; @t[3][4]=@s[1][2]; end{dump; emitp@s; emitp @t}' $indir/abixy
run_mlr --opprint put -q '@s[NR][NR] = $i/100; @t[NR*10]=@s; end{emitp@s,"A","B"; emitp @t,"C","D","E"}' $indir/abixy

View file

@ -0,0 +1,67 @@
run_mlr --oxtab put -q '@sum += $x; end{dump;emitp @sum }' $indir/abixy-wide
run_mlr --oxtab put -q '@sum += $x; end{dump;emit @sum }' $indir/abixy-wide
run_mlr --oxtab put -q '@sum[$a] += $x; end{dump;emitp @sum }' $indir/abixy-wide
run_mlr --oxtab put -q '@sum[$a] += $x; end{dump;emit @sum }' $indir/abixy-wide
run_mlr --oxtab put -q '@sum[$a] += $x; end{dump;emitp @sum, "a"}' $indir/abixy-wide
run_mlr --oxtab put -q '@sum[$a] += $x; end{dump;emit @sum, "a"}' $indir/abixy-wide
run_mlr --oxtab put -q '@sum[$a][$b] += $x; end{dump;emitp @sum }' $indir/abixy-wide
run_mlr --oxtab put -q '@sum[$a][$b] += $x; end{dump;emit @sum }' $indir/abixy-wide
run_mlr --oxtab put -q '@sum[$a][$b] += $x; end{dump;emitp @sum, "a"}' $indir/abixy-wide
run_mlr --oxtab put -q '@sum[$a][$b] += $x; end{dump;emit @sum, "a"}' $indir/abixy-wide
run_mlr --opprint put -q '@sum[$a][$b] += $x; end{dump;emitp @sum, "a", "b"}' $indir/abixy-wide
run_mlr --opprint put -q '@sum[$a][$b] += $x; end{dump;emit @sum, "a", "b"}' $indir/abixy-wide
run_mlr --oxtab put -q '@sum[$a][$b][$a.$b] += $x; end{dump;emitp @sum }' $indir/abixy-wide
run_mlr --oxtab put -q '@sum[$a][$b][$a.$b] += $x; end{dump;emit @sum }' $indir/abixy-wide
run_mlr --oxtab put -q '@sum[$a][$b][$a.$b] += $x; end{dump;emitp @sum, "a"}' $indir/abixy-wide
run_mlr --oxtab put -q '@sum[$a][$b][$a.$b] += $x; end{dump;emit @sum, "a"}' $indir/abixy-wide
run_mlr --opprint put -q '@sum[$a][$b][$a.$b] += $x; end{dump;emitp @sum, "a", "b"}' $indir/abixy-wide
run_mlr --opprint put -q '@sum[$a][$b][$a.$b] += $x; end{dump;emit @sum, "a", "b"}' $indir/abixy-wide
run_mlr --opprint put -q '@sum[$a][$b][$a.$b] += $x; end{dump;emitp @sum, "a", "b", "ab"}' $indir/abixy-wide
run_mlr --opprint put -q '@sum[$a][$b][$a.$b] += $x; end{dump;emit @sum, "a", "b", "ab"}' $indir/abixy-wide
run_mlr --oxtab head -n 2 then put -q '@v = $*; end{dump;emitp @v}' $indir/abixy
run_mlr --oxtab head -n 2 then put -q '@v = $*; end{dump;emit @v}' $indir/abixy
run_mlr --oxtab head -n 2 then put -q '@v[NR] = $*; end{dump;emitp @v }' $indir/abixy
run_mlr --oxtab head -n 2 then put -q '@v[NR] = $*; end{dump;emit @v }' $indir/abixy
run_mlr --opprint head -n 2 then put -q '@v[NR] = $*; end{dump;emitp @v, "I"}' $indir/abixy
run_mlr --opprint head -n 2 then put -q '@v[NR] = $*; end{dump;emit @v, "I"}' $indir/abixy
run_mlr --oxtab head -n 2 then put -q '@v[NR][NR] = $*; end{dump;emitp @v }' $indir/abixy
run_mlr --oxtab head -n 2 then put -q '@v[NR][NR] = $*; end{dump;emit @v }' $indir/abixy
run_mlr --opprint head -n 2 then put -q '@v[NR][NR] = $*; end{dump;emitp @v, "I"}' $indir/abixy
run_mlr --opprint head -n 2 then put -q '@v[NR][NR] = $*; end{dump;emit @v, "I"}' $indir/abixy
run_mlr --opprint head -n 2 then put -q '@v[NR][NR] = $*; end{dump;emitp @v, "I", "J"}' $indir/abixy
run_mlr --opprint head -n 2 then put -q '@v[NR][NR] = $*; end{dump;emit @v, "I", "J"}' $indir/abixy
run_mlr --oxtab head -n 2 then put -q '@v[NR][NR][NR] = $*; end{dump;emitp @v }' $indir/abixy
run_mlr --oxtab head -n 2 then put -q '@v[NR][NR][NR] = $*; end{dump;emit @v }' $indir/abixy
run_mlr --opprint head -n 2 then put -q '@v[NR][NR][NR] = $*; end{dump;emitp @v, "I"}' $indir/abixy
run_mlr --opprint head -n 2 then put -q '@v[NR][NR][NR] = $*; end{dump;emit @v, "I"}' $indir/abixy
run_mlr --opprint head -n 2 then put -q '@v[NR][NR][NR] = $*; end{dump;emitp @v, "I", "J"}' $indir/abixy
run_mlr --opprint head -n 2 then put -q '@v[NR][NR][NR] = $*; end{dump;emit @v, "I", "J"}' $indir/abixy
run_mlr --opprint head -n 2 then put -q '@v[NR][NR][NR] = $*; end{dump;emitp @v, "I", "J", "K"}' $indir/abixy
run_mlr --opprint head -n 2 then put -q '@v[NR][NR][NR] = $*; end{dump;emit @v, "I", "J", "K"}' $indir/abixy

View file

@ -0,0 +1,727 @@
# ----------------------------------------------------------------
announce MAPPER TEE REDIRECTS
tee1=$reloutdir/tee1
mkdir -p $tee1
run_mlr --from $indir/abixy tee $tee1/out then nothing
run_cat $tee1/out
run_mlr --from $indir/abixy tee --no-fflush $tee1/out then nothing
run_cat $tee1/out
run_mlr --from $indir/abixy tee -a $tee1/out then nothing
run_cat $tee1/out
run_mlr --from $indir/abixy tee -o json $tee1/out then nothing
run_cat $tee1/out
# ----------------------------------------------------------------
announce DSL TEE REDIRECTS
tee2=$reloutdir/tee2
mkdir -p $tee2
run_mlr put -q 'tee > "'$tee2'/out.".$a, $*' $indir/abixy
run_cat $tee2/out.eks
run_cat $tee2/out.hat
run_cat $tee2/out.pan
run_cat $tee2/out.wye
run_cat $tee2/out.zee
run_mlr put -q --no-fflush 'tee > "'$tee2'/out.".$a, $*' $indir/abixy
run_cat $tee2/out.eks
run_cat $tee2/out.hat
run_cat $tee2/out.pan
run_cat $tee2/out.wye
run_cat $tee2/out.zee
run_mlr put -q 'tee >> "'$tee2'/out.".$a, $*' $indir/abixy
run_cat $tee2/out.eks
run_cat $tee2/out.hat
run_cat $tee2/out.pan
run_cat $tee2/out.wye
run_cat $tee2/out.zee
run_mlr put -q -o json 'tee > "'$tee2'/out.".$a, $*' $indir/abixy
run_cat $tee2/out.eks
run_cat $tee2/out.hat
run_cat $tee2/out.pan
run_cat $tee2/out.wye
run_cat $tee2/out.zee
run_mlr put -q 'tee | "tr \[a-z\] \[A-Z\]", $*' $indir/abixy
run_mlr put -q -o json 'tee | "tr \[a-z\] \[A-Z\]", $*' $indir/abixy
touch $tee2/err1
run_mlr put -q 'tee > stdout, $*' $indir/abixy 2> $tee2/err1
run_cat $tee2/err1
touch $tee2/err2
run_mlr put -q 'tee > stderr, $*' $indir/abixy 2> $tee2/err2
run_cat $tee2/err2
# ----------------------------------------------------------------
announce DSL PRINT REDIRECTS
print1=$reloutdir/print1
mkdir -p $print1
run_mlr put -q 'print > "'$print1'/out.".$a, "abi:".$a.$b.$i' $indir/abixy
run_cat $print1/out.eks
run_cat $print1/out.hat
run_cat $print1/out.pan
run_cat $print1/out.wye
run_cat $print1/out.zee
run_mlr put -q 'print > "'$print1'/out.".$a, "abi:".$a.$b.$i' $indir/abixy
run_cat $print1/out.eks
run_cat $print1/out.hat
run_cat $print1/out.pan
run_cat $print1/out.wye
run_cat $print1/out.zee
run_mlr put -q 'print >> "'$print1'/out.".$a, "abi:".$a.$b.$i' $indir/abixy
run_cat $print1/out.eks
run_cat $print1/out.hat
run_cat $print1/out.pan
run_cat $print1/out.wye
run_cat $print1/out.zee
run_mlr put -q 'print | "tr \[a-z\] \[A-Z\]", "abi:".$a.$b.$i' $indir/abixy
touch $print1/err1
run_mlr put -q 'print > stdout, "abi:".$a.$b.$i' $indir/abixy 2> $print1/err1
run_cat $print1/err1
touch $print1/err2
run_mlr put -q 'print > stderr, "abi:".$a.$b.$i' $indir/abixy 2> $print1/err2
run_cat $print1/err2
# ----------------------------------------------------------------
announce DSL PRINTN REDIRECTS
printn1=$reloutdir/printn1
mkdir -p $printn1
run_mlr put -q 'printn > "'$printn1'/out.".$a, "abi:".$a.$b.$i' $indir/abixy
run_cat $printn1/out.eks
run_cat $printn1/out.hat
run_cat $printn1/out.pan
run_cat $printn1/out.wye
run_cat $printn1/out.zee
run_mlr put -q 'printn > "'$printn1'/out.".$a, "abi:".$a.$b.$i' $indir/abixy
run_cat $printn1/out.eks
run_cat $printn1/out.hat
run_cat $printn1/out.pan
run_cat $printn1/out.wye
run_cat $printn1/out.zee
run_mlr put -q 'printn >> "'$printn1'/out.".$a, "abi:".$a.$b.$i' $indir/abixy
run_cat $printn1/out.eks
run_cat $printn1/out.hat
run_cat $printn1/out.pan
run_cat $printn1/out.wye
run_cat $printn1/out.zee
run_mlr put -q 'printn | "tr \[a-z\] \[A-Z\]", "abi:".$a.$b.$i' $indir/abixy
touch $printn1/err1
run_mlr put -q 'printn > stdout, "abi:".$a.$b.$i' $indir/abixy 2> $printn1/err1
run_cat $printn1/err1
touch $printn1/err2
run_mlr put -q 'printn > stderr, "abi:".$a.$b.$i' $indir/abixy 2> $printn1/err2
run_cat $printn1/err2
# ----------------------------------------------------------------
announce DSL DUMP REDIRECTS
dump1=$reloutdir/dump1
mkdir -p $dump1
run_mlr put -q '@v=$*; dump > "'$dump1'/out.".$a' $indir/abixy
run_cat $dump1/out.eks
run_cat $dump1/out.hat
run_cat $dump1/out.pan
run_cat $dump1/out.wye
run_cat $dump1/out.zee
run_mlr put -q '@v=$*; dump > "'$dump1'/out.".$a' $indir/abixy
run_cat $dump1/out.eks
run_cat $dump1/out.hat
run_cat $dump1/out.pan
run_cat $dump1/out.wye
run_cat $dump1/out.zee
run_mlr put -q '@v=$*; dump >> "'$dump1'/out.".$a' $indir/abixy
run_cat $dump1/out.eks
run_cat $dump1/out.hat
run_cat $dump1/out.pan
run_cat $dump1/out.wye
run_cat $dump1/out.zee
run_mlr put -q '@v=$*; dump | "tr \[a-z\] \[A-Z\]"' $indir/abixy
touch $dump1/err1
run_mlr put -q '@v[NR] = $*; NR == 2 { dump > stdout }' $indir/abixy 2> $dump1/err1
run_cat $dump1/err1
touch $dump1/err2
run_mlr put -q '@v[NR] = $*; NR == 2 { dump > stderr }' $indir/abixy 2> $dump1/err2
run_cat $dump1/err2
# ----------------------------------------------------------------
announce DSL EMITF REDIRECTS
emitf1=$reloutdir/emitf1
mkdir -p $emitf1
run_mlr put -q '@a=$a; @b=$b; emitf > "'$emitf1'/out.".$a.$b, @a, @b' $indir/abixy
run_cat $emitf1/out.ekspan
run_cat $emitf1/out.ekswye
run_cat $emitf1/out.ekszee
run_cat $emitf1/out.hatwye
run_cat $emitf1/out.panpan
run_cat $emitf1/out.panwye
run_cat $emitf1/out.wyepan
run_cat $emitf1/out.wyewye
run_cat $emitf1/out.zeepan
run_cat $emitf1/out.zeewye
run_mlr put -q '@a=$a; @b=$b; emitf > "'$emitf1'/out.".$a.$b, @a, @b' $indir/abixy
run_cat $emitf1/out.ekspan
run_cat $emitf1/out.ekswye
run_cat $emitf1/out.ekszee
run_cat $emitf1/out.hatwye
run_cat $emitf1/out.panpan
run_cat $emitf1/out.panwye
run_cat $emitf1/out.wyepan
run_cat $emitf1/out.wyewye
run_cat $emitf1/out.zeepan
run_cat $emitf1/out.zeewye
run_mlr put -q '@a=$a; @b=$b; emitf >> "'$emitf1'/out.".$a.$b, @a, @b' $indir/abixy
run_cat $emitf1/out.ekspan
run_cat $emitf1/out.ekswye
run_cat $emitf1/out.ekszee
run_cat $emitf1/out.hatwye
run_cat $emitf1/out.panpan
run_cat $emitf1/out.panwye
run_cat $emitf1/out.wyepan
run_cat $emitf1/out.wyewye
run_cat $emitf1/out.zeepan
run_cat $emitf1/out.zeewye
run_mlr put -q -o json '@a=$a; @b=$b; emitf > "'$emitf1'/out.".$a.$b, @a, @b' $indir/abixy
run_cat $emitf1/out.ekspan
run_cat $emitf1/out.ekswye
run_cat $emitf1/out.ekszee
run_cat $emitf1/out.hatwye
run_cat $emitf1/out.panpan
run_cat $emitf1/out.panwye
run_cat $emitf1/out.wyepan
run_cat $emitf1/out.wyewye
run_cat $emitf1/out.zeepan
run_cat $emitf1/out.zeewye
run_mlr put -q '@a=$a; @b=$b; emitf | "tr \[a-z\] \[A-Z\]", @a, @b' $indir/abixy
touch $emitf1/err1
run_mlr put -q '@a=$a; @b=$b; emitf > stdout, @a, @b' $indir/abixy 2> $emitf1/err1
run_cat $emitf1/err1
touch $emitf1/err2
run_mlr put -q '@a=$a; @b=$b; emitf > stderr, @a, @b' $indir/abixy 2> $emitf1/err2
run_cat $emitf1/err2
# ----------------------------------------------------------------
announce DSL EMITP REDIRECTS
emitp1=$reloutdir/emitp1
mkdir -p $emitp1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp1'/out.".$a.$b, @a' $indir/abixy
run_cat $emitp1/out.ekspan
run_cat $emitp1/out.ekswye
run_cat $emitp1/out.panpan
run_cat $emitp1/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp1'/out.".$a.$b, @a' $indir/abixy
run_cat $emitp1/out.ekspan
run_cat $emitp1/out.ekswye
run_cat $emitp1/out.panpan
run_cat $emitp1/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp >> "'$emitp1'/out.".$a.$b, @a' $indir/abixy
run_cat $emitp1/out.ekspan
run_cat $emitp1/out.ekswye
run_cat $emitp1/out.panpan
run_cat $emitp1/out.wyewye
run_mlr head -n 4 then put -q -o json '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp1'/out.".$a.$b, @a' $indir/abixy
run_cat $emitp1/out.ekspan
run_cat $emitp1/out.ekswye
run_cat $emitp1/out.panpan
run_cat $emitp1/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", @a' $indir/abixy
touch $emitp1/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stdout, @a' $indir/abixy 2> $emitp1/err1
run_cat $emitp1/err1
touch $emitp1/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stderr, @a' $indir/abixy 2> $emitp1/err2
run_cat $emitp1/err2
emitp2=$reloutdir/emitp2
mkdir -p $emitp2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp2'/out.".$a.$b, @a, "NR"' $indir/abixy
run_cat $emitp2/out.ekspan
run_cat $emitp2/out.ekswye
run_cat $emitp2/out.panpan
run_cat $emitp2/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp2'/out.".$a.$b, @a, "NR"' $indir/abixy
run_cat $emitp2/out.ekspan
run_cat $emitp2/out.ekswye
run_cat $emitp2/out.panpan
run_cat $emitp2/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp >> "'$emitp2'/out.".$a.$b, @a, "NR"' $indir/abixy
run_cat $emitp2/out.ekspan
run_cat $emitp2/out.ekswye
run_cat $emitp2/out.panpan
run_cat $emitp2/out.wyewye
run_mlr head -n 4 then put -q -o json '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp2'/out.".$a.$b, @a, "NR"' $indir/abixy
run_cat $emitp2/out.ekspan
run_cat $emitp2/out.ekswye
run_cat $emitp2/out.panpan
run_cat $emitp2/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", @a, "NR"' $indir/abixy
touch $emitp2/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stdout, @a, "NR"' $indir/abixy 2> $emitp2/err1
run_cat $emitp2/err1
touch $emitp2/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stderr, @a, "NR"' $indir/abixy 2> $emitp2/err2
run_cat $emitp2/err2
emitp3=$reloutdir/emitp3
mkdir -p $emitp3
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp3'/out.".$a.$b, (@a, @b)' $indir/abixy
run_cat $emitp3/out.ekspan
run_cat $emitp3/out.ekswye
run_cat $emitp3/out.panpan
run_cat $emitp3/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp3'/out.".$a.$b, (@a, @b)' $indir/abixy
run_cat $emitp3/out.ekspan
run_cat $emitp3/out.ekswye
run_cat $emitp3/out.panpan
run_cat $emitp3/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp >> "'$emitp3'/out.".$a.$b, (@a, @b)' $indir/abixy
run_cat $emitp3/out.ekspan
run_cat $emitp3/out.ekswye
run_cat $emitp3/out.panpan
run_cat $emitp3/out.wyewye
run_mlr head -n 4 then put -q -o json '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp3'/out.".$a.$b, (@a, @b)' $indir/abixy
run_cat $emitp3/out.ekspan
run_cat $emitp3/out.ekswye
run_cat $emitp3/out.panpan
run_cat $emitp3/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", (@a, @b)' $indir/abixy
touch $emitp3/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stdout, (@a, @b)' $indir/abixy 2> $emitp3/err1
run_cat $emitp3/err1
touch $emitp3/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stderr, (@a, @b)' $indir/abixy 2> $emitp3/err2
run_cat $emitp3/err2
emitp4=$reloutdir/emitp4
mkdir -p $emitp4
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp4'/out.".$a.$b, (@a, @b), "NR"' $indir/abixy
run_cat $emitp4/out.ekspan
run_cat $emitp4/out.ekswye
run_cat $emitp4/out.panpan
run_cat $emitp4/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp4'/out.".$a.$b, (@a, @b), "NR"' $indir/abixy
run_cat $emitp4/out.ekspan
run_cat $emitp4/out.ekswye
run_cat $emitp4/out.panpan
run_cat $emitp4/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp >> "'$emitp4'/out.".$a.$b, (@a, @b), "NR"' $indir/abixy
run_cat $emitp4/out.ekspan
run_cat $emitp4/out.ekswye
run_cat $emitp4/out.panpan
run_cat $emitp4/out.wyewye
run_mlr head -n 4 then put -q -o json '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp4'/out.".$a.$b, (@a, @b), "NR"' $indir/abixy
run_cat $emitp4/out.ekspan
run_cat $emitp4/out.ekswye
run_cat $emitp4/out.panpan
run_cat $emitp4/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", (@a, @b), "NR"' $indir/abixy
touch $emitp4/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stdout, (@a, @b), "NR"' $indir/abixy 2> $emitp4/err1
run_cat $emitp4/err1
touch $emitp4/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stderr, (@a, @b), "NR"' $indir/abixy 2> $emitp4/err2
run_cat $emitp4/err2
emitp5=$reloutdir/emitp5
mkdir -p $emitp5
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp5'/out.".$a.$b, @*' $indir/abixy
run_cat $emitp5/out.ekspan
run_cat $emitp5/out.ekswye
run_cat $emitp5/out.panpan
run_cat $emitp5/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", @*' $indir/abixy
touch $emitp5/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stdout, @*' $indir/abixy 2> $emitp5/err1
run_cat $emitp5/err1
touch $emitp5/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stderr, @*' $indir/abixy 2> $emitp5/err2
run_cat $emitp5/err2
emitp6=$reloutdir/emitp6
mkdir -p $emitp6
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp6'/out.".$a.$b, all' $indir/abixy
run_cat $emitp6/out.ekspan
run_cat $emitp6/out.ekswye
run_cat $emitp6/out.panpan
run_cat $emitp6/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", all' $indir/abixy
touch $emitp6/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stdout, all' $indir/abixy 2> $emitp6/err1
run_cat $emitp6/err1
touch $emitp6/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stderr, all' $indir/abixy 2> $emitp6/err2
run_cat $emitp6/err2
emitp7=$reloutdir/emitp7
mkdir -p $emitp7
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp7'/out.".$a.$b, @*, "NR"' $indir/abixy
run_cat $emitp7/out.ekspan
run_cat $emitp7/out.ekswye
run_cat $emitp7/out.panpan
run_cat $emitp7/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", @*, "NR"' $indir/abixy
touch $emitp7/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stdout, @*, "NR"' $indir/abixy 2> $emitp7/err1
run_cat $emitp7/err1
touch $emitp7/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stderr, @*, "NR"' $indir/abixy 2> $emitp7/err2
run_cat $emitp7/err2
emitp8=$reloutdir/emitp8
mkdir -p $emitp8
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > "'$emitp8'/out.".$a.$b, all, "NR"' $indir/abixy
run_cat $emitp8/out.ekspan
run_cat $emitp8/out.ekswye
run_cat $emitp8/out.panpan
run_cat $emitp8/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp | "tr \[a-z\] \[A-Z\]", all, "NR"' $indir/abixy
touch $emitp8/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stdout, all, "NR"' $indir/abixy 2> $emitp8/err1
run_cat $emitp8/err1
touch $emitp8/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emitp > stderr, all, "NR"' $indir/abixy 2> $emitp8/err2
run_cat $emitp8/err2
# ----------------------------------------------------------------
announce DSL EMIT REDIRECTS
emit1=$reloutdir/emit1
mkdir -p $emit1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > "'$emit1'/out.".$a.$b, @a' $indir/abixy
run_cat $emit1/out.ekspan
run_cat $emit1/out.ekswye
run_cat $emit1/out.panpan
run_cat $emit1/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > "'$emit1'/out.".$a.$b, @a' $indir/abixy
run_cat $emit1/out.ekspan
run_cat $emit1/out.ekswye
run_cat $emit1/out.panpan
run_cat $emit1/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit >> "'$emit1'/out.".$a.$b, @a' $indir/abixy
run_cat $emit1/out.ekspan
run_cat $emit1/out.ekswye
run_cat $emit1/out.panpan
run_cat $emit1/out.wyewye
run_mlr head -n 4 then put -q -o json '@a[NR]=$a; @b[NR]=$b; emit > "'$emit1'/out.".$a.$b, @a' $indir/abixy
run_cat $emit1/out.ekspan
run_cat $emit1/out.ekswye
run_cat $emit1/out.panpan
run_cat $emit1/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", @a' $indir/abixy
touch $emit1/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stdout, @a' $indir/abixy 2> $emit1/err1
run_cat $emit1/err1
touch $emit1/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stderr, @a' $indir/abixy 2> $emit1/err2
run_cat $emit1/err2
emit2=$reloutdir/emit2
mkdir -p $emit2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > "'$emit2'/out.".$a.$b, @a, "NR"' $indir/abixy
run_cat $emit2/out.ekspan
run_cat $emit2/out.ekswye
run_cat $emit2/out.panpan
run_cat $emit2/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > "'$emit2'/out.".$a.$b, @a, "NR"' $indir/abixy
run_cat $emit2/out.ekspan
run_cat $emit2/out.ekswye
run_cat $emit2/out.panpan
run_cat $emit2/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit >> "'$emit2'/out.".$a.$b, @a, "NR"' $indir/abixy
run_cat $emit2/out.ekspan
run_cat $emit2/out.ekswye
run_cat $emit2/out.panpan
run_cat $emit2/out.wyewye
run_mlr head -n 4 then put -q -o pprint '@a[NR]=$a; @b[NR]=$b; emit > "'$emit2'/out.".$a.$b, @a, "NR"' $indir/abixy
run_cat $emit2/out.ekspan
run_cat $emit2/out.ekswye
run_cat $emit2/out.panpan
run_cat $emit2/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", @a, "NR"' $indir/abixy
touch $emit2/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stdout, @a, "NR"' $indir/abixy 2> $emit2/err1
run_cat $emit2/err1
touch $emit2/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stderr, @a, "NR"' $indir/abixy 2> $emit2/err2
run_cat $emit2/err2
emit3=$reloutdir/emit3
mkdir -p $emit3
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > "'$emit3'/out.".$a.$b, (@a, @b)' $indir/abixy
run_cat $emit3/out.ekspan
run_cat $emit3/out.ekswye
run_cat $emit3/out.panpan
run_cat $emit3/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > "'$emit3'/out.".$a.$b, (@a, @b)' $indir/abixy
run_cat $emit3/out.ekspan
run_cat $emit3/out.ekswye
run_cat $emit3/out.panpan
run_cat $emit3/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit >> "'$emit3'/out.".$a.$b, (@a, @b)' $indir/abixy
run_cat $emit3/out.ekspan
run_cat $emit3/out.ekswye
run_cat $emit3/out.panpan
run_cat $emit3/out.wyewye
run_mlr head -n 4 then put -q --oxtab '@a[NR]=$a; @b[NR]=$b; emit > "'$emit3'/out.".$a.$b, (@a, @b)' $indir/abixy
run_cat $emit3/out.ekspan
run_cat $emit3/out.ekswye
run_cat $emit3/out.panpan
run_cat $emit3/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", (@a, @b)' $indir/abixy
touch $emit3/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stdout, (@a, @b)' $indir/abixy 2> $emit3/err1
run_cat $emit3/err1
touch $emit3/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stderr, (@a, @b)' $indir/abixy 2> $emit3/err2
run_cat $emit3/err2
emit4=$reloutdir/emit4
mkdir -p $emit4
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > "'$emit4'/out.".$a.$b, (@a, @b), "NR"' $indir/abixy
run_cat $emit4/out.ekspan
run_cat $emit4/out.ekswye
run_cat $emit4/out.panpan
run_cat $emit4/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > "'$emit4'/out.".$a.$b, (@a, @b), "NR"' $indir/abixy
run_cat $emit4/out.ekspan
run_cat $emit4/out.ekswye
run_cat $emit4/out.panpan
run_cat $emit4/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit >> "'$emit4'/out.".$a.$b, (@a, @b), "NR"' $indir/abixy
run_cat $emit4/out.ekspan
run_cat $emit4/out.ekswye
run_cat $emit4/out.panpan
run_cat $emit4/out.wyewye
run_mlr head -n 4 then put -q --ojson '@a[NR]=$a; @b[NR]=$b; emit > "'$emit4'/out.".$a.$b, (@a, @b), "NR"' $indir/abixy
run_cat $emit4/out.ekspan
run_cat $emit4/out.ekswye
run_cat $emit4/out.panpan
run_cat $emit4/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", (@a, @b), "NR"' $indir/abixy
touch $emit4/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stdout, (@a, @b), "NR"' $indir/abixy 2> $emit4/err1
run_cat $emit4/err1
touch $emit4/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stderr, (@a, @b), "NR"' $indir/abixy 2> $emit4/err2
run_cat $emit4/err2
emit5=$reloutdir/emit5
mkdir -p $emit5
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > "'$emit5'/out.".$a.$b, @*' $indir/abixy
run_cat $emit5/out.ekspan
run_cat $emit5/out.ekswye
run_cat $emit5/out.panpan
run_cat $emit5/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", @*' $indir/abixy
touch $emit5/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stdout, @*' $indir/abixy 2> $emit5/err1
run_cat $emit5/err1
touch $emit5/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stderr, @*' $indir/abixy 2> $emit5/err2
run_cat $emit5/err2
emit6=$reloutdir/emit6
mkdir -p $emit6
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > "'$emit6'/out.".$a.$b, all' $indir/abixy
run_cat $emit6/out.ekspan
run_cat $emit6/out.ekswye
run_cat $emit6/out.panpan
run_cat $emit6/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", all' $indir/abixy
touch $emit6/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stdout, all' $indir/abixy 2> $emit6/err1
run_cat $emit6/err1
touch $emit6/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stderr, all' $indir/abixy 2> $emit6/err2
run_cat $emit6/err2
emit7=$reloutdir/emit7
mkdir -p $emit7
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > "'$emit7'/out.".$a.$b, @*, "NR"' $indir/abixy
run_cat $emit7/out.ekspan
run_cat $emit7/out.ekswye
run_cat $emit7/out.panpan
run_cat $emit7/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", @*, "NR"' $indir/abixy
touch $emit7/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stdout, @*, "NR"' $indir/abixy 2> $emit7/err1
run_cat $emit7/err1
touch $emit7/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stderr, @*, "NR"' $indir/abixy 2> $emit7/err2
run_cat $emit7/err2
emit8=$reloutdir/emit8
mkdir -p $emit8
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > "'$emit8'/out.".$a.$b, all, "NR"' $indir/abixy
run_cat $emit8/out.ekspan
run_cat $emit8/out.ekswye
run_cat $emit8/out.panpan
run_cat $emit8/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", all, "NR"' $indir/abixy
touch $emit8/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stdout, all, "NR"' $indir/abixy 2> $emit8/err1
run_cat $emit8/err1
touch $emit8/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stderr, all, "NR"' $indir/abixy 2> $emit8/err2
run_cat $emit8/err2
emit9=$reloutdir/emit9
mkdir -p $emit9
run_mlr head -n 4 then put -q 'emit > "'$emit9'/out.".$a.$b, $*' $indir/abixy
run_cat $emit9/out.ekspan
run_cat $emit9/out.ekswye
run_cat $emit9/out.panpan
run_cat $emit9/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", $*, "NR"' $indir/abixy
touch $emit9/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stdout, $*, "NR"' $indir/abixy 2> $emit9/err1
run_cat $emit9/err1
touch $emit9/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stderr, $*, "NR"' $indir/abixy 2> $emit9/err2
run_cat $emit9/err2
emit10=$reloutdir/emit10
mkdir -p $emit10
run_mlr head -n 4 then put -q 'emit > "'$emit10'/out.".$a.$b, mapexcept($*, "a", "b")' $indir/abixy
run_cat $emit10/out.ekspan
run_cat $emit10/out.ekswye
run_cat $emit10/out.panpan
run_cat $emit10/out.wyewye
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit | "tr \[a-z\] \[A-Z\]", mapexcept($*, "a", "b"), "NR"' $indir/abixy
touch $emit10/err1
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stdout, mapexcept($*, "a", "b"), "NR"' $indir/abixy 2> $emit10/err1
run_cat $emit10/err1
touch $emit10/err2
run_mlr head -n 4 then put -q '@a[NR]=$a; @b[NR]=$b; emit > stderr, mapexcept($*, "a", "b"), "NR"' $indir/abixy 2> $emit10/err2
run_cat $emit10/err2

View file

@ -0,0 +1,34 @@
# ----------------------------------------------------------------
announce DSL SCIENTIFIC NOTATION IN FIELD VALUES
run_mlr --opprint put '$y=$x+1' $indir/scinot.dkvp
# ----------------------------------------------------------------
announce DSL SCIENTIFIC NOTATION IN EXPRESSION LITERALS
run_mlr --opprint put '$y = 123 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = 123. + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = 123.4 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = .234 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = 1e2 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = 1e-2 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = 1.2e3 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = 1.e3 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = 1.2e-3 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = 1.e-3 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = .2e3 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = .2e-3 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = 1.e-3 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = -123 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = -123. + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = -123.4 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = -.234 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = -1e2 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = -1e-2 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = -1.2e3 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = -1.e3 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = -1.2e-3 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = -1.e-3 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = -.2e3 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = -.2e-3 + $i' $indir/scinot1.dkvp
run_mlr --opprint put '$y = -1.e-3 + $i' $indir/scinot1.dkvp

View file

@ -0,0 +1,18 @@
run_mlr put -q '
int n = strlen($x);
print "input= <<".$x.">>";
for (i = -n-2; i <= n+2; i += 1) {
for (j = -n-2; j <= n+2; j += 1) {
print "i: ".fmtnum(i,"%3lld")
." j:".fmtnum(j,"%3lld")
." substr(".$x.",".fmtnum(i,"%3lld").",".fmtnum(j,"%3lld")."): <<"
.substr($x, i, j) .">>";
}
print;
}
' << EOF
x=
x=o
x=o1
x=o123456789
EOF

View file

@ -0,0 +1,7 @@
run_mlr --icsvlite --opprint put '$langue = toupper($langue)' $indir/utf8-1.csv
run_mlr --icsvlite --opprint put '$nom = toupper($nom)' $indir/utf8-1.csv
run_mlr --icsvlite --opprint put '$jour = toupper($jour)' $indir/utf8-1.csv
run_mlr --icsvlite --opprint put '$langue = capitalize($langue)' $indir/utf8-1.csv
run_mlr --icsvlite --opprint put '$nom = capitalize($nom)' $indir/utf8-1.csv
run_mlr --icsvlite --opprint put '$jour = capitalize($jour)' $indir/utf8-1.csv

View file

@ -0,0 +1,4 @@
run_mlr --icsv --opprint cat $indir/bom.csv
run_mlr --icsv --opprint cat < $indir/bom.csv
run_mlr --icsv --opprint cat $indir/bom-dquote-header.csv
run_mlr --icsv --opprint cat < $indir/bom-dquote-header.csv

View file

@ -0,0 +1,406 @@
mlr --from ./reg_test/input/abixy put
func f(m) {
dump m;
sum = 0;
for (k, v in m) {
sum += k
}
return sum
}
@v[$i] = $a;
$y = f(@v)
{
"1": "pan"
}
a=pan,b=pan,i=1,x=0.3467901443380824,y=1
{
"1": "pan",
"2": "eks"
}
a=eks,b=pan,i=2,x=0.7586799647899636,y=3
{
"1": "pan",
"2": "eks",
"3": "wye"
}
a=wye,b=wye,i=3,x=0.20460330576630303,y=6
{
"1": "pan",
"2": "eks",
"3": "wye",
"4": "eks"
}
a=eks,b=wye,i=4,x=0.38139939387114097,y=10
{
"1": "pan",
"2": "eks",
"3": "wye",
"4": "eks",
"5": "wye"
}
a=wye,b=pan,i=5,x=0.5732889198020006,y=15
{
"1": "pan",
"2": "eks",
"3": "wye",
"4": "eks",
"5": "wye",
"6": "zee"
}
a=zee,b=pan,i=6,x=0.5271261600918548,y=21
{
"1": "pan",
"2": "eks",
"3": "wye",
"4": "eks",
"5": "wye",
"6": "zee",
"7": "eks"
}
a=eks,b=zee,i=7,x=0.6117840605678454,y=28
{
"1": "pan",
"2": "eks",
"3": "wye",
"4": "eks",
"5": "wye",
"6": "zee",
"7": "eks",
"8": "zee"
}
a=zee,b=wye,i=8,x=0.5985540091064224,y=36
{
"1": "pan",
"2": "eks",
"3": "wye",
"4": "eks",
"5": "wye",
"6": "zee",
"7": "eks",
"8": "zee",
"9": "hat"
}
a=hat,b=wye,i=9,x=0.03144187646093577,y=45
{
"1": "pan",
"2": "eks",
"3": "wye",
"4": "eks",
"5": "wye",
"6": "zee",
"7": "eks",
"8": "zee",
"9": "hat",
"10": "pan"
}
a=pan,b=wye,i=10,x=0.5026260055412137,y=55
mlr --from ./reg_test/input/abixy put
subr s(m) {
dump m;
sum = 0;
for (k, v in m) {
sum += k
}
@sum = sum;
}
@v[$i] = $a;
call s(@v);
$y = @sum;
{
"1": "pan"
}
a=pan,b=pan,i=1,x=0.3467901443380824,y=1
{
"1": "pan",
"2": "eks"
}
a=eks,b=pan,i=2,x=0.7586799647899636,y=3
{
"1": "pan",
"2": "eks",
"3": "wye"
}
a=wye,b=wye,i=3,x=0.20460330576630303,y=6
{
"1": "pan",
"2": "eks",
"3": "wye",
"4": "eks"
}
a=eks,b=wye,i=4,x=0.38139939387114097,y=10
{
"1": "pan",
"2": "eks",
"3": "wye",
"4": "eks",
"5": "wye"
}
a=wye,b=pan,i=5,x=0.5732889198020006,y=15
{
"1": "pan",
"2": "eks",
"3": "wye",
"4": "eks",
"5": "wye",
"6": "zee"
}
a=zee,b=pan,i=6,x=0.5271261600918548,y=21
{
"1": "pan",
"2": "eks",
"3": "wye",
"4": "eks",
"5": "wye",
"6": "zee",
"7": "eks"
}
a=eks,b=zee,i=7,x=0.6117840605678454,y=28
{
"1": "pan",
"2": "eks",
"3": "wye",
"4": "eks",
"5": "wye",
"6": "zee",
"7": "eks",
"8": "zee"
}
a=zee,b=wye,i=8,x=0.5985540091064224,y=36
{
"1": "pan",
"2": "eks",
"3": "wye",
"4": "eks",
"5": "wye",
"6": "zee",
"7": "eks",
"8": "zee",
"9": "hat"
}
a=hat,b=wye,i=9,x=0.03144187646093577,y=45
{
"1": "pan",
"2": "eks",
"3": "wye",
"4": "eks",
"5": "wye",
"6": "zee",
"7": "eks",
"8": "zee",
"9": "hat",
"10": "pan"
}
a=pan,b=wye,i=10,x=0.5026260055412137,y=55
mlr --from ./reg_test/input/abixy-het put func f(x) {return {"a":x,"b":x**2}}; map o = f($x); $* = o
a=0.346790,b=0.120263
a=0.758680,b=0.575595
a=0.204603,b=0.041863
a=0.381399,b=0.145465
a=,b=
a=0.527126,b=0.277862
a=0.611784,b=0.374280
a=0.598554,b=0.358267
a=0.031442,b=0.000989
a=0.502626,b=0.252633
mlr --from ./reg_test/input/abixy-het put -q func f(x) {return x**2}; var z = f($x); dump z
0.120263
0.575595
0.041863
0.145465
0.277862
0.374280
0.358267
0.000989
0.252633
mlr --from ./reg_test/input/abixy-het put -q func f(x) {map m = {NR:x};return m}; z = f($y); dump z
{
"1": 0.726803
}
{
"2": 0.522151
}
{
"3": 0.338319
}
{
"4": 0.134189
}
{
"5": 0.863624
}
{
"6": 0.493221
}
{
"7": 0.187885
}
{
"8":
}
{
"9": 0.749551
}
{
"10": 0.952618
}
mlr --from ./reg_test/input/abixy put
func f(int x): map {
if (NR==2) {
return 2
} else {
return {}
}
}
$y=f($x)
mlr: int type assertion for variable x unmet by value 0.346790 with type float.
mlr --from ./reg_test/input/abixy put
func f(int x): map {
if (NR==200) {
return 2
} else {
return {}
}
}
$y=f($i)
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr --from ./reg_test/input/abixy put
func f(int x): map {
if (NR==200) {
return 2
} else {
return {}
}
}
$y=f($x)
mlr: int type assertion for variable x unmet by value 0.346790 with type float.
mlr --from ./reg_test/input/abixy put
func f(int x): var {
if (NR==2) {
return 2
} else {
return {}
}
}
$y=f($i)
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=2,x=0.7586799647899636,y=2
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr --from ./reg_test/input/abixy put
func f(int x): var {
if (NR==2) {
return 2
} else {
return {}
}
}
$y=f($x)
mlr: int type assertion for variable x unmet by value 0.346790 with type float.
mlr --from ./reg_test/input/abixy put
func f(x): int {
# fall-through return value is absent-null
}
$y=f($x)
mlr: function f returned type absent, not matching typedecl int.
mlr --from ./reg_test/input/abixy put
int a = 1;
var b = a[2]; # cannot index localvar declared non-map
mlr: int type assertion for variable a unmet on read.
mlr --oxtab --from ./reg_test/input/abixy-het put
$* = mapdiff(
mapsum($*, {"a": "newval"}),
{"b": "nonesuch"},
)
a newval
i 1
x 0.3467901443380824
y 0.7268028627434533
a newval
i 2
x 0.7586799647899636
y 0.5221511083334797
aaa wye
i 3
x 0.20460330576630303
y 0.33831852551664776
a newval
a newval
bbb wye
i 4
x 0.38139939387114097
y 0.13418874328430463
a newval
i 5
xxx 0.5732889198020006
y 0.8636244699032729
a newval
i 6
x 0.5271261600918548
y 0.49322128674835697
a newval
iii 7
x 0.6117840605678454
y 0.1878849191181694
a newval
i 8
x 0.5985540091064224
yyy 0.976181385699006
aaa hat
bbb wye
i 9
x 0.03144187646093577
y 0.7495507603507059
a newval
a newval
i 10
x 0.5026260055412137
y 0.9526183602969864

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,142 @@
================================================================
DSL SCIENTIFIC NOTATION IN FIELD VALUES
mlr --opprint put $y=$x+1 ./reg_test/input/scinot.dkvp
x y
123 124
123. 124.000000
123.4 124.400000
.234 1.234000
1e2 101.000000
1e-2 1.010000
1.2e3 1201.000000
1.e3 1001.000000
1.2e-3 1.001200
1.e-3 1.001000
.2e3 201.000000
.2e-3 1.000200
1.e-3 1.001000
-123 -122
-123. -122.000000
-123.4 -122.400000
-.234 0.766000
-1e2 -99.000000
-1e-2 0.990000
-1.2e3 -1199.000000
-1.e3 -999.000000
-1.2e-3 0.998800
-1.e-3 0.999000
-.2e3 -199.000000
-.2e-3 0.999800
-1.e-3 0.999000
================================================================
DSL SCIENTIFIC NOTATION IN EXPRESSION LITERALS
mlr --opprint put $y = 123 + $i ./reg_test/input/scinot1.dkvp
i y
1 124
mlr --opprint put $y = 123. + $i ./reg_test/input/scinot1.dkvp
i y
1 124.000000
mlr --opprint put $y = 123.4 + $i ./reg_test/input/scinot1.dkvp
i y
1 124.400000
mlr --opprint put $y = .234 + $i ./reg_test/input/scinot1.dkvp
i y
1 1.234000
mlr --opprint put $y = 1e2 + $i ./reg_test/input/scinot1.dkvp
i y
1 101.000000
mlr --opprint put $y = 1e-2 + $i ./reg_test/input/scinot1.dkvp
i y
1 1.010000
mlr --opprint put $y = 1.2e3 + $i ./reg_test/input/scinot1.dkvp
i y
1 1201.000000
mlr --opprint put $y = 1.e3 + $i ./reg_test/input/scinot1.dkvp
i y
1 1001.000000
mlr --opprint put $y = 1.2e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 1.001200
mlr --opprint put $y = 1.e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 1.001000
mlr --opprint put $y = .2e3 + $i ./reg_test/input/scinot1.dkvp
i y
1 201.000000
mlr --opprint put $y = .2e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 1.000200
mlr --opprint put $y = 1.e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 1.001000
mlr --opprint put $y = -123 + $i ./reg_test/input/scinot1.dkvp
i y
1 -122
mlr --opprint put $y = -123. + $i ./reg_test/input/scinot1.dkvp
i y
1 -122.000000
mlr --opprint put $y = -123.4 + $i ./reg_test/input/scinot1.dkvp
i y
1 -122.400000
mlr --opprint put $y = -.234 + $i ./reg_test/input/scinot1.dkvp
i y
1 0.766000
mlr --opprint put $y = -1e2 + $i ./reg_test/input/scinot1.dkvp
i y
1 -99.000000
mlr --opprint put $y = -1e-2 + $i ./reg_test/input/scinot1.dkvp
i y
1 0.990000
mlr --opprint put $y = -1.2e3 + $i ./reg_test/input/scinot1.dkvp
i y
1 -1199.000000
mlr --opprint put $y = -1.e3 + $i ./reg_test/input/scinot1.dkvp
i y
1 -999.000000
mlr --opprint put $y = -1.2e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 0.998800
mlr --opprint put $y = -1.e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 0.999000
mlr --opprint put $y = -.2e3 + $i ./reg_test/input/scinot1.dkvp
i y
1 -199.000000
mlr --opprint put $y = -.2e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 0.999800
mlr --opprint put $y = -1.e-3 + $i ./reg_test/input/scinot1.dkvp
i y
1 0.999000

View file

@ -0,0 +1,845 @@
mlr put -q
int n = strlen($x);
print "input= <<".$x.">>";
for (i = -n-2; i <= n+2; i += 1) {
for (j = -n-2; j <= n+2; j += 1) {
print "i: ".fmtnum(i,"%3lld")
." j:".fmtnum(j,"%3lld")
." substr(".$x.",".fmtnum(i,"%3lld").",".fmtnum(j,"%3lld")."): <<"
.substr($x, i, j) .">>";
}
print;
}
input= <<>>
i: -2 j: -2 substr(, -2, -2): <<>>
i: -2 j: -1 substr(, -2, -1): <<>>
i: -2 j: 0 substr(, -2, 0): <<>>
i: -2 j: 1 substr(, -2, 1): <<>>
i: -2 j: 2 substr(, -2, 2): <<>>
i: -1 j: -2 substr(, -1, -2): <<>>
i: -1 j: -1 substr(, -1, -1): <<>>
i: -1 j: 0 substr(, -1, 0): <<>>
i: -1 j: 1 substr(, -1, 1): <<>>
i: -1 j: 2 substr(, -1, 2): <<>>
i: 0 j: -2 substr(, 0, -2): <<>>
i: 0 j: -1 substr(, 0, -1): <<>>
i: 0 j: 0 substr(, 0, 0): <<>>
i: 0 j: 1 substr(, 0, 1): <<>>
i: 0 j: 2 substr(, 0, 2): <<>>
i: 1 j: -2 substr(, 1, -2): <<>>
i: 1 j: -1 substr(, 1, -1): <<>>
i: 1 j: 0 substr(, 1, 0): <<>>
i: 1 j: 1 substr(, 1, 1): <<>>
i: 1 j: 2 substr(, 1, 2): <<>>
i: 2 j: -2 substr(, 2, -2): <<>>
i: 2 j: -1 substr(, 2, -1): <<>>
i: 2 j: 0 substr(, 2, 0): <<>>
i: 2 j: 1 substr(, 2, 1): <<>>
i: 2 j: 2 substr(, 2, 2): <<>>
input= <<o>>
i: -3 j: -3 substr(o, -3, -3): <<>>
i: -3 j: -2 substr(o, -3, -2): <<>>
i: -3 j: -1 substr(o, -3, -1): <<>>
i: -3 j: 0 substr(o, -3, 0): <<>>
i: -3 j: 1 substr(o, -3, 1): <<>>
i: -3 j: 2 substr(o, -3, 2): <<>>
i: -3 j: 3 substr(o, -3, 3): <<>>
i: -2 j: -3 substr(o, -2, -3): <<>>
i: -2 j: -2 substr(o, -2, -2): <<>>
i: -2 j: -1 substr(o, -2, -1): <<>>
i: -2 j: 0 substr(o, -2, 0): <<>>
i: -2 j: 1 substr(o, -2, 1): <<>>
i: -2 j: 2 substr(o, -2, 2): <<>>
i: -2 j: 3 substr(o, -2, 3): <<>>
i: -1 j: -3 substr(o, -1, -3): <<>>
i: -1 j: -2 substr(o, -1, -2): <<>>
i: -1 j: -1 substr(o, -1, -1): <<o>>
i: -1 j: 0 substr(o, -1, 0): <<o>>
i: -1 j: 1 substr(o, -1, 1): <<>>
i: -1 j: 2 substr(o, -1, 2): <<>>
i: -1 j: 3 substr(o, -1, 3): <<>>
i: 0 j: -3 substr(o, 0, -3): <<>>
i: 0 j: -2 substr(o, 0, -2): <<>>
i: 0 j: -1 substr(o, 0, -1): <<o>>
i: 0 j: 0 substr(o, 0, 0): <<o>>
i: 0 j: 1 substr(o, 0, 1): <<>>
i: 0 j: 2 substr(o, 0, 2): <<>>
i: 0 j: 3 substr(o, 0, 3): <<>>
i: 1 j: -3 substr(o, 1, -3): <<>>
i: 1 j: -2 substr(o, 1, -2): <<>>
i: 1 j: -1 substr(o, 1, -1): <<>>
i: 1 j: 0 substr(o, 1, 0): <<>>
i: 1 j: 1 substr(o, 1, 1): <<>>
i: 1 j: 2 substr(o, 1, 2): <<>>
i: 1 j: 3 substr(o, 1, 3): <<>>
i: 2 j: -3 substr(o, 2, -3): <<>>
i: 2 j: -2 substr(o, 2, -2): <<>>
i: 2 j: -1 substr(o, 2, -1): <<>>
i: 2 j: 0 substr(o, 2, 0): <<>>
i: 2 j: 1 substr(o, 2, 1): <<>>
i: 2 j: 2 substr(o, 2, 2): <<>>
i: 2 j: 3 substr(o, 2, 3): <<>>
i: 3 j: -3 substr(o, 3, -3): <<>>
i: 3 j: -2 substr(o, 3, -2): <<>>
i: 3 j: -1 substr(o, 3, -1): <<>>
i: 3 j: 0 substr(o, 3, 0): <<>>
i: 3 j: 1 substr(o, 3, 1): <<>>
i: 3 j: 2 substr(o, 3, 2): <<>>
i: 3 j: 3 substr(o, 3, 3): <<>>
input= <<o1>>
i: -4 j: -4 substr(o1, -4, -4): <<>>
i: -4 j: -3 substr(o1, -4, -3): <<>>
i: -4 j: -2 substr(o1, -4, -2): <<>>
i: -4 j: -1 substr(o1, -4, -1): <<>>
i: -4 j: 0 substr(o1, -4, 0): <<>>
i: -4 j: 1 substr(o1, -4, 1): <<>>
i: -4 j: 2 substr(o1, -4, 2): <<>>
i: -4 j: 3 substr(o1, -4, 3): <<>>
i: -4 j: 4 substr(o1, -4, 4): <<>>
i: -3 j: -4 substr(o1, -3, -4): <<>>
i: -3 j: -3 substr(o1, -3, -3): <<>>
i: -3 j: -2 substr(o1, -3, -2): <<>>
i: -3 j: -1 substr(o1, -3, -1): <<>>
i: -3 j: 0 substr(o1, -3, 0): <<>>
i: -3 j: 1 substr(o1, -3, 1): <<>>
i: -3 j: 2 substr(o1, -3, 2): <<>>
i: -3 j: 3 substr(o1, -3, 3): <<>>
i: -3 j: 4 substr(o1, -3, 4): <<>>
i: -2 j: -4 substr(o1, -2, -4): <<>>
i: -2 j: -3 substr(o1, -2, -3): <<>>
i: -2 j: -2 substr(o1, -2, -2): <<o>>
i: -2 j: -1 substr(o1, -2, -1): <<o1>>
i: -2 j: 0 substr(o1, -2, 0): <<o>>
i: -2 j: 1 substr(o1, -2, 1): <<o1>>
i: -2 j: 2 substr(o1, -2, 2): <<>>
i: -2 j: 3 substr(o1, -2, 3): <<>>
i: -2 j: 4 substr(o1, -2, 4): <<>>
i: -1 j: -4 substr(o1, -1, -4): <<>>
i: -1 j: -3 substr(o1, -1, -3): <<>>
i: -1 j: -2 substr(o1, -1, -2): <<>>
i: -1 j: -1 substr(o1, -1, -1): <<1>>
i: -1 j: 0 substr(o1, -1, 0): <<>>
i: -1 j: 1 substr(o1, -1, 1): <<1>>
i: -1 j: 2 substr(o1, -1, 2): <<>>
i: -1 j: 3 substr(o1, -1, 3): <<>>
i: -1 j: 4 substr(o1, -1, 4): <<>>
i: 0 j: -4 substr(o1, 0, -4): <<>>
i: 0 j: -3 substr(o1, 0, -3): <<>>
i: 0 j: -2 substr(o1, 0, -2): <<o>>
i: 0 j: -1 substr(o1, 0, -1): <<o1>>
i: 0 j: 0 substr(o1, 0, 0): <<o>>
i: 0 j: 1 substr(o1, 0, 1): <<o1>>
i: 0 j: 2 substr(o1, 0, 2): <<>>
i: 0 j: 3 substr(o1, 0, 3): <<>>
i: 0 j: 4 substr(o1, 0, 4): <<>>
i: 1 j: -4 substr(o1, 1, -4): <<>>
i: 1 j: -3 substr(o1, 1, -3): <<>>
i: 1 j: -2 substr(o1, 1, -2): <<>>
i: 1 j: -1 substr(o1, 1, -1): <<1>>
i: 1 j: 0 substr(o1, 1, 0): <<>>
i: 1 j: 1 substr(o1, 1, 1): <<1>>
i: 1 j: 2 substr(o1, 1, 2): <<>>
i: 1 j: 3 substr(o1, 1, 3): <<>>
i: 1 j: 4 substr(o1, 1, 4): <<>>
i: 2 j: -4 substr(o1, 2, -4): <<>>
i: 2 j: -3 substr(o1, 2, -3): <<>>
i: 2 j: -2 substr(o1, 2, -2): <<>>
i: 2 j: -1 substr(o1, 2, -1): <<>>
i: 2 j: 0 substr(o1, 2, 0): <<>>
i: 2 j: 1 substr(o1, 2, 1): <<>>
i: 2 j: 2 substr(o1, 2, 2): <<>>
i: 2 j: 3 substr(o1, 2, 3): <<>>
i: 2 j: 4 substr(o1, 2, 4): <<>>
i: 3 j: -4 substr(o1, 3, -4): <<>>
i: 3 j: -3 substr(o1, 3, -3): <<>>
i: 3 j: -2 substr(o1, 3, -2): <<>>
i: 3 j: -1 substr(o1, 3, -1): <<>>
i: 3 j: 0 substr(o1, 3, 0): <<>>
i: 3 j: 1 substr(o1, 3, 1): <<>>
i: 3 j: 2 substr(o1, 3, 2): <<>>
i: 3 j: 3 substr(o1, 3, 3): <<>>
i: 3 j: 4 substr(o1, 3, 4): <<>>
i: 4 j: -4 substr(o1, 4, -4): <<>>
i: 4 j: -3 substr(o1, 4, -3): <<>>
i: 4 j: -2 substr(o1, 4, -2): <<>>
i: 4 j: -1 substr(o1, 4, -1): <<>>
i: 4 j: 0 substr(o1, 4, 0): <<>>
i: 4 j: 1 substr(o1, 4, 1): <<>>
i: 4 j: 2 substr(o1, 4, 2): <<>>
i: 4 j: 3 substr(o1, 4, 3): <<>>
i: 4 j: 4 substr(o1, 4, 4): <<>>
input= <<o123456789>>
i: -12 j:-12 substr(o123456789,-12,-12): <<>>
i: -12 j:-11 substr(o123456789,-12,-11): <<>>
i: -12 j:-10 substr(o123456789,-12,-10): <<>>
i: -12 j: -9 substr(o123456789,-12, -9): <<>>
i: -12 j: -8 substr(o123456789,-12, -8): <<>>
i: -12 j: -7 substr(o123456789,-12, -7): <<>>
i: -12 j: -6 substr(o123456789,-12, -6): <<>>
i: -12 j: -5 substr(o123456789,-12, -5): <<>>
i: -12 j: -4 substr(o123456789,-12, -4): <<>>
i: -12 j: -3 substr(o123456789,-12, -3): <<>>
i: -12 j: -2 substr(o123456789,-12, -2): <<>>
i: -12 j: -1 substr(o123456789,-12, -1): <<>>
i: -12 j: 0 substr(o123456789,-12, 0): <<>>
i: -12 j: 1 substr(o123456789,-12, 1): <<>>
i: -12 j: 2 substr(o123456789,-12, 2): <<>>
i: -12 j: 3 substr(o123456789,-12, 3): <<>>
i: -12 j: 4 substr(o123456789,-12, 4): <<>>
i: -12 j: 5 substr(o123456789,-12, 5): <<>>
i: -12 j: 6 substr(o123456789,-12, 6): <<>>
i: -12 j: 7 substr(o123456789,-12, 7): <<>>
i: -12 j: 8 substr(o123456789,-12, 8): <<>>
i: -12 j: 9 substr(o123456789,-12, 9): <<>>
i: -12 j: 10 substr(o123456789,-12, 10): <<>>
i: -12 j: 11 substr(o123456789,-12, 11): <<>>
i: -12 j: 12 substr(o123456789,-12, 12): <<>>
i: -11 j:-12 substr(o123456789,-11,-12): <<>>
i: -11 j:-11 substr(o123456789,-11,-11): <<>>
i: -11 j:-10 substr(o123456789,-11,-10): <<>>
i: -11 j: -9 substr(o123456789,-11, -9): <<>>
i: -11 j: -8 substr(o123456789,-11, -8): <<>>
i: -11 j: -7 substr(o123456789,-11, -7): <<>>
i: -11 j: -6 substr(o123456789,-11, -6): <<>>
i: -11 j: -5 substr(o123456789,-11, -5): <<>>
i: -11 j: -4 substr(o123456789,-11, -4): <<>>
i: -11 j: -3 substr(o123456789,-11, -3): <<>>
i: -11 j: -2 substr(o123456789,-11, -2): <<>>
i: -11 j: -1 substr(o123456789,-11, -1): <<>>
i: -11 j: 0 substr(o123456789,-11, 0): <<>>
i: -11 j: 1 substr(o123456789,-11, 1): <<>>
i: -11 j: 2 substr(o123456789,-11, 2): <<>>
i: -11 j: 3 substr(o123456789,-11, 3): <<>>
i: -11 j: 4 substr(o123456789,-11, 4): <<>>
i: -11 j: 5 substr(o123456789,-11, 5): <<>>
i: -11 j: 6 substr(o123456789,-11, 6): <<>>
i: -11 j: 7 substr(o123456789,-11, 7): <<>>
i: -11 j: 8 substr(o123456789,-11, 8): <<>>
i: -11 j: 9 substr(o123456789,-11, 9): <<>>
i: -11 j: 10 substr(o123456789,-11, 10): <<>>
i: -11 j: 11 substr(o123456789,-11, 11): <<>>
i: -11 j: 12 substr(o123456789,-11, 12): <<>>
i: -10 j:-12 substr(o123456789,-10,-12): <<>>
i: -10 j:-11 substr(o123456789,-10,-11): <<>>
i: -10 j:-10 substr(o123456789,-10,-10): <<o>>
i: -10 j: -9 substr(o123456789,-10, -9): <<o1>>
i: -10 j: -8 substr(o123456789,-10, -8): <<o12>>
i: -10 j: -7 substr(o123456789,-10, -7): <<o123>>
i: -10 j: -6 substr(o123456789,-10, -6): <<o1234>>
i: -10 j: -5 substr(o123456789,-10, -5): <<o12345>>
i: -10 j: -4 substr(o123456789,-10, -4): <<o123456>>
i: -10 j: -3 substr(o123456789,-10, -3): <<o1234567>>
i: -10 j: -2 substr(o123456789,-10, -2): <<o12345678>>
i: -10 j: -1 substr(o123456789,-10, -1): <<o123456789>>
i: -10 j: 0 substr(o123456789,-10, 0): <<o>>
i: -10 j: 1 substr(o123456789,-10, 1): <<o1>>
i: -10 j: 2 substr(o123456789,-10, 2): <<o12>>
i: -10 j: 3 substr(o123456789,-10, 3): <<o123>>
i: -10 j: 4 substr(o123456789,-10, 4): <<o1234>>
i: -10 j: 5 substr(o123456789,-10, 5): <<o12345>>
i: -10 j: 6 substr(o123456789,-10, 6): <<o123456>>
i: -10 j: 7 substr(o123456789,-10, 7): <<o1234567>>
i: -10 j: 8 substr(o123456789,-10, 8): <<o12345678>>
i: -10 j: 9 substr(o123456789,-10, 9): <<o123456789>>
i: -10 j: 10 substr(o123456789,-10, 10): <<>>
i: -10 j: 11 substr(o123456789,-10, 11): <<>>
i: -10 j: 12 substr(o123456789,-10, 12): <<>>
i: -9 j:-12 substr(o123456789, -9,-12): <<>>
i: -9 j:-11 substr(o123456789, -9,-11): <<>>
i: -9 j:-10 substr(o123456789, -9,-10): <<>>
i: -9 j: -9 substr(o123456789, -9, -9): <<1>>
i: -9 j: -8 substr(o123456789, -9, -8): <<12>>
i: -9 j: -7 substr(o123456789, -9, -7): <<123>>
i: -9 j: -6 substr(o123456789, -9, -6): <<1234>>
i: -9 j: -5 substr(o123456789, -9, -5): <<12345>>
i: -9 j: -4 substr(o123456789, -9, -4): <<123456>>
i: -9 j: -3 substr(o123456789, -9, -3): <<1234567>>
i: -9 j: -2 substr(o123456789, -9, -2): <<12345678>>
i: -9 j: -1 substr(o123456789, -9, -1): <<123456789>>
i: -9 j: 0 substr(o123456789, -9, 0): <<>>
i: -9 j: 1 substr(o123456789, -9, 1): <<1>>
i: -9 j: 2 substr(o123456789, -9, 2): <<12>>
i: -9 j: 3 substr(o123456789, -9, 3): <<123>>
i: -9 j: 4 substr(o123456789, -9, 4): <<1234>>
i: -9 j: 5 substr(o123456789, -9, 5): <<12345>>
i: -9 j: 6 substr(o123456789, -9, 6): <<123456>>
i: -9 j: 7 substr(o123456789, -9, 7): <<1234567>>
i: -9 j: 8 substr(o123456789, -9, 8): <<12345678>>
i: -9 j: 9 substr(o123456789, -9, 9): <<123456789>>
i: -9 j: 10 substr(o123456789, -9, 10): <<>>
i: -9 j: 11 substr(o123456789, -9, 11): <<>>
i: -9 j: 12 substr(o123456789, -9, 12): <<>>
i: -8 j:-12 substr(o123456789, -8,-12): <<>>
i: -8 j:-11 substr(o123456789, -8,-11): <<>>
i: -8 j:-10 substr(o123456789, -8,-10): <<>>
i: -8 j: -9 substr(o123456789, -8, -9): <<>>
i: -8 j: -8 substr(o123456789, -8, -8): <<2>>
i: -8 j: -7 substr(o123456789, -8, -7): <<23>>
i: -8 j: -6 substr(o123456789, -8, -6): <<234>>
i: -8 j: -5 substr(o123456789, -8, -5): <<2345>>
i: -8 j: -4 substr(o123456789, -8, -4): <<23456>>
i: -8 j: -3 substr(o123456789, -8, -3): <<234567>>
i: -8 j: -2 substr(o123456789, -8, -2): <<2345678>>
i: -8 j: -1 substr(o123456789, -8, -1): <<23456789>>
i: -8 j: 0 substr(o123456789, -8, 0): <<>>
i: -8 j: 1 substr(o123456789, -8, 1): <<>>
i: -8 j: 2 substr(o123456789, -8, 2): <<2>>
i: -8 j: 3 substr(o123456789, -8, 3): <<23>>
i: -8 j: 4 substr(o123456789, -8, 4): <<234>>
i: -8 j: 5 substr(o123456789, -8, 5): <<2345>>
i: -8 j: 6 substr(o123456789, -8, 6): <<23456>>
i: -8 j: 7 substr(o123456789, -8, 7): <<234567>>
i: -8 j: 8 substr(o123456789, -8, 8): <<2345678>>
i: -8 j: 9 substr(o123456789, -8, 9): <<23456789>>
i: -8 j: 10 substr(o123456789, -8, 10): <<>>
i: -8 j: 11 substr(o123456789, -8, 11): <<>>
i: -8 j: 12 substr(o123456789, -8, 12): <<>>
i: -7 j:-12 substr(o123456789, -7,-12): <<>>
i: -7 j:-11 substr(o123456789, -7,-11): <<>>
i: -7 j:-10 substr(o123456789, -7,-10): <<>>
i: -7 j: -9 substr(o123456789, -7, -9): <<>>
i: -7 j: -8 substr(o123456789, -7, -8): <<>>
i: -7 j: -7 substr(o123456789, -7, -7): <<3>>
i: -7 j: -6 substr(o123456789, -7, -6): <<34>>
i: -7 j: -5 substr(o123456789, -7, -5): <<345>>
i: -7 j: -4 substr(o123456789, -7, -4): <<3456>>
i: -7 j: -3 substr(o123456789, -7, -3): <<34567>>
i: -7 j: -2 substr(o123456789, -7, -2): <<345678>>
i: -7 j: -1 substr(o123456789, -7, -1): <<3456789>>
i: -7 j: 0 substr(o123456789, -7, 0): <<>>
i: -7 j: 1 substr(o123456789, -7, 1): <<>>
i: -7 j: 2 substr(o123456789, -7, 2): <<>>
i: -7 j: 3 substr(o123456789, -7, 3): <<3>>
i: -7 j: 4 substr(o123456789, -7, 4): <<34>>
i: -7 j: 5 substr(o123456789, -7, 5): <<345>>
i: -7 j: 6 substr(o123456789, -7, 6): <<3456>>
i: -7 j: 7 substr(o123456789, -7, 7): <<34567>>
i: -7 j: 8 substr(o123456789, -7, 8): <<345678>>
i: -7 j: 9 substr(o123456789, -7, 9): <<3456789>>
i: -7 j: 10 substr(o123456789, -7, 10): <<>>
i: -7 j: 11 substr(o123456789, -7, 11): <<>>
i: -7 j: 12 substr(o123456789, -7, 12): <<>>
i: -6 j:-12 substr(o123456789, -6,-12): <<>>
i: -6 j:-11 substr(o123456789, -6,-11): <<>>
i: -6 j:-10 substr(o123456789, -6,-10): <<>>
i: -6 j: -9 substr(o123456789, -6, -9): <<>>
i: -6 j: -8 substr(o123456789, -6, -8): <<>>
i: -6 j: -7 substr(o123456789, -6, -7): <<>>
i: -6 j: -6 substr(o123456789, -6, -6): <<4>>
i: -6 j: -5 substr(o123456789, -6, -5): <<45>>
i: -6 j: -4 substr(o123456789, -6, -4): <<456>>
i: -6 j: -3 substr(o123456789, -6, -3): <<4567>>
i: -6 j: -2 substr(o123456789, -6, -2): <<45678>>
i: -6 j: -1 substr(o123456789, -6, -1): <<456789>>
i: -6 j: 0 substr(o123456789, -6, 0): <<>>
i: -6 j: 1 substr(o123456789, -6, 1): <<>>
i: -6 j: 2 substr(o123456789, -6, 2): <<>>
i: -6 j: 3 substr(o123456789, -6, 3): <<>>
i: -6 j: 4 substr(o123456789, -6, 4): <<4>>
i: -6 j: 5 substr(o123456789, -6, 5): <<45>>
i: -6 j: 6 substr(o123456789, -6, 6): <<456>>
i: -6 j: 7 substr(o123456789, -6, 7): <<4567>>
i: -6 j: 8 substr(o123456789, -6, 8): <<45678>>
i: -6 j: 9 substr(o123456789, -6, 9): <<456789>>
i: -6 j: 10 substr(o123456789, -6, 10): <<>>
i: -6 j: 11 substr(o123456789, -6, 11): <<>>
i: -6 j: 12 substr(o123456789, -6, 12): <<>>
i: -5 j:-12 substr(o123456789, -5,-12): <<>>
i: -5 j:-11 substr(o123456789, -5,-11): <<>>
i: -5 j:-10 substr(o123456789, -5,-10): <<>>
i: -5 j: -9 substr(o123456789, -5, -9): <<>>
i: -5 j: -8 substr(o123456789, -5, -8): <<>>
i: -5 j: -7 substr(o123456789, -5, -7): <<>>
i: -5 j: -6 substr(o123456789, -5, -6): <<>>
i: -5 j: -5 substr(o123456789, -5, -5): <<5>>
i: -5 j: -4 substr(o123456789, -5, -4): <<56>>
i: -5 j: -3 substr(o123456789, -5, -3): <<567>>
i: -5 j: -2 substr(o123456789, -5, -2): <<5678>>
i: -5 j: -1 substr(o123456789, -5, -1): <<56789>>
i: -5 j: 0 substr(o123456789, -5, 0): <<>>
i: -5 j: 1 substr(o123456789, -5, 1): <<>>
i: -5 j: 2 substr(o123456789, -5, 2): <<>>
i: -5 j: 3 substr(o123456789, -5, 3): <<>>
i: -5 j: 4 substr(o123456789, -5, 4): <<>>
i: -5 j: 5 substr(o123456789, -5, 5): <<5>>
i: -5 j: 6 substr(o123456789, -5, 6): <<56>>
i: -5 j: 7 substr(o123456789, -5, 7): <<567>>
i: -5 j: 8 substr(o123456789, -5, 8): <<5678>>
i: -5 j: 9 substr(o123456789, -5, 9): <<56789>>
i: -5 j: 10 substr(o123456789, -5, 10): <<>>
i: -5 j: 11 substr(o123456789, -5, 11): <<>>
i: -5 j: 12 substr(o123456789, -5, 12): <<>>
i: -4 j:-12 substr(o123456789, -4,-12): <<>>
i: -4 j:-11 substr(o123456789, -4,-11): <<>>
i: -4 j:-10 substr(o123456789, -4,-10): <<>>
i: -4 j: -9 substr(o123456789, -4, -9): <<>>
i: -4 j: -8 substr(o123456789, -4, -8): <<>>
i: -4 j: -7 substr(o123456789, -4, -7): <<>>
i: -4 j: -6 substr(o123456789, -4, -6): <<>>
i: -4 j: -5 substr(o123456789, -4, -5): <<>>
i: -4 j: -4 substr(o123456789, -4, -4): <<6>>
i: -4 j: -3 substr(o123456789, -4, -3): <<67>>
i: -4 j: -2 substr(o123456789, -4, -2): <<678>>
i: -4 j: -1 substr(o123456789, -4, -1): <<6789>>
i: -4 j: 0 substr(o123456789, -4, 0): <<>>
i: -4 j: 1 substr(o123456789, -4, 1): <<>>
i: -4 j: 2 substr(o123456789, -4, 2): <<>>
i: -4 j: 3 substr(o123456789, -4, 3): <<>>
i: -4 j: 4 substr(o123456789, -4, 4): <<>>
i: -4 j: 5 substr(o123456789, -4, 5): <<>>
i: -4 j: 6 substr(o123456789, -4, 6): <<6>>
i: -4 j: 7 substr(o123456789, -4, 7): <<67>>
i: -4 j: 8 substr(o123456789, -4, 8): <<678>>
i: -4 j: 9 substr(o123456789, -4, 9): <<6789>>
i: -4 j: 10 substr(o123456789, -4, 10): <<>>
i: -4 j: 11 substr(o123456789, -4, 11): <<>>
i: -4 j: 12 substr(o123456789, -4, 12): <<>>
i: -3 j:-12 substr(o123456789, -3,-12): <<>>
i: -3 j:-11 substr(o123456789, -3,-11): <<>>
i: -3 j:-10 substr(o123456789, -3,-10): <<>>
i: -3 j: -9 substr(o123456789, -3, -9): <<>>
i: -3 j: -8 substr(o123456789, -3, -8): <<>>
i: -3 j: -7 substr(o123456789, -3, -7): <<>>
i: -3 j: -6 substr(o123456789, -3, -6): <<>>
i: -3 j: -5 substr(o123456789, -3, -5): <<>>
i: -3 j: -4 substr(o123456789, -3, -4): <<>>
i: -3 j: -3 substr(o123456789, -3, -3): <<7>>
i: -3 j: -2 substr(o123456789, -3, -2): <<78>>
i: -3 j: -1 substr(o123456789, -3, -1): <<789>>
i: -3 j: 0 substr(o123456789, -3, 0): <<>>
i: -3 j: 1 substr(o123456789, -3, 1): <<>>
i: -3 j: 2 substr(o123456789, -3, 2): <<>>
i: -3 j: 3 substr(o123456789, -3, 3): <<>>
i: -3 j: 4 substr(o123456789, -3, 4): <<>>
i: -3 j: 5 substr(o123456789, -3, 5): <<>>
i: -3 j: 6 substr(o123456789, -3, 6): <<>>
i: -3 j: 7 substr(o123456789, -3, 7): <<7>>
i: -3 j: 8 substr(o123456789, -3, 8): <<78>>
i: -3 j: 9 substr(o123456789, -3, 9): <<789>>
i: -3 j: 10 substr(o123456789, -3, 10): <<>>
i: -3 j: 11 substr(o123456789, -3, 11): <<>>
i: -3 j: 12 substr(o123456789, -3, 12): <<>>
i: -2 j:-12 substr(o123456789, -2,-12): <<>>
i: -2 j:-11 substr(o123456789, -2,-11): <<>>
i: -2 j:-10 substr(o123456789, -2,-10): <<>>
i: -2 j: -9 substr(o123456789, -2, -9): <<>>
i: -2 j: -8 substr(o123456789, -2, -8): <<>>
i: -2 j: -7 substr(o123456789, -2, -7): <<>>
i: -2 j: -6 substr(o123456789, -2, -6): <<>>
i: -2 j: -5 substr(o123456789, -2, -5): <<>>
i: -2 j: -4 substr(o123456789, -2, -4): <<>>
i: -2 j: -3 substr(o123456789, -2, -3): <<>>
i: -2 j: -2 substr(o123456789, -2, -2): <<8>>
i: -2 j: -1 substr(o123456789, -2, -1): <<89>>
i: -2 j: 0 substr(o123456789, -2, 0): <<>>
i: -2 j: 1 substr(o123456789, -2, 1): <<>>
i: -2 j: 2 substr(o123456789, -2, 2): <<>>
i: -2 j: 3 substr(o123456789, -2, 3): <<>>
i: -2 j: 4 substr(o123456789, -2, 4): <<>>
i: -2 j: 5 substr(o123456789, -2, 5): <<>>
i: -2 j: 6 substr(o123456789, -2, 6): <<>>
i: -2 j: 7 substr(o123456789, -2, 7): <<>>
i: -2 j: 8 substr(o123456789, -2, 8): <<8>>
i: -2 j: 9 substr(o123456789, -2, 9): <<89>>
i: -2 j: 10 substr(o123456789, -2, 10): <<>>
i: -2 j: 11 substr(o123456789, -2, 11): <<>>
i: -2 j: 12 substr(o123456789, -2, 12): <<>>
i: -1 j:-12 substr(o123456789, -1,-12): <<>>
i: -1 j:-11 substr(o123456789, -1,-11): <<>>
i: -1 j:-10 substr(o123456789, -1,-10): <<>>
i: -1 j: -9 substr(o123456789, -1, -9): <<>>
i: -1 j: -8 substr(o123456789, -1, -8): <<>>
i: -1 j: -7 substr(o123456789, -1, -7): <<>>
i: -1 j: -6 substr(o123456789, -1, -6): <<>>
i: -1 j: -5 substr(o123456789, -1, -5): <<>>
i: -1 j: -4 substr(o123456789, -1, -4): <<>>
i: -1 j: -3 substr(o123456789, -1, -3): <<>>
i: -1 j: -2 substr(o123456789, -1, -2): <<>>
i: -1 j: -1 substr(o123456789, -1, -1): <<9>>
i: -1 j: 0 substr(o123456789, -1, 0): <<>>
i: -1 j: 1 substr(o123456789, -1, 1): <<>>
i: -1 j: 2 substr(o123456789, -1, 2): <<>>
i: -1 j: 3 substr(o123456789, -1, 3): <<>>
i: -1 j: 4 substr(o123456789, -1, 4): <<>>
i: -1 j: 5 substr(o123456789, -1, 5): <<>>
i: -1 j: 6 substr(o123456789, -1, 6): <<>>
i: -1 j: 7 substr(o123456789, -1, 7): <<>>
i: -1 j: 8 substr(o123456789, -1, 8): <<>>
i: -1 j: 9 substr(o123456789, -1, 9): <<9>>
i: -1 j: 10 substr(o123456789, -1, 10): <<>>
i: -1 j: 11 substr(o123456789, -1, 11): <<>>
i: -1 j: 12 substr(o123456789, -1, 12): <<>>
i: 0 j:-12 substr(o123456789, 0,-12): <<>>
i: 0 j:-11 substr(o123456789, 0,-11): <<>>
i: 0 j:-10 substr(o123456789, 0,-10): <<o>>
i: 0 j: -9 substr(o123456789, 0, -9): <<o1>>
i: 0 j: -8 substr(o123456789, 0, -8): <<o12>>
i: 0 j: -7 substr(o123456789, 0, -7): <<o123>>
i: 0 j: -6 substr(o123456789, 0, -6): <<o1234>>
i: 0 j: -5 substr(o123456789, 0, -5): <<o12345>>
i: 0 j: -4 substr(o123456789, 0, -4): <<o123456>>
i: 0 j: -3 substr(o123456789, 0, -3): <<o1234567>>
i: 0 j: -2 substr(o123456789, 0, -2): <<o12345678>>
i: 0 j: -1 substr(o123456789, 0, -1): <<o123456789>>
i: 0 j: 0 substr(o123456789, 0, 0): <<o>>
i: 0 j: 1 substr(o123456789, 0, 1): <<o1>>
i: 0 j: 2 substr(o123456789, 0, 2): <<o12>>
i: 0 j: 3 substr(o123456789, 0, 3): <<o123>>
i: 0 j: 4 substr(o123456789, 0, 4): <<o1234>>
i: 0 j: 5 substr(o123456789, 0, 5): <<o12345>>
i: 0 j: 6 substr(o123456789, 0, 6): <<o123456>>
i: 0 j: 7 substr(o123456789, 0, 7): <<o1234567>>
i: 0 j: 8 substr(o123456789, 0, 8): <<o12345678>>
i: 0 j: 9 substr(o123456789, 0, 9): <<o123456789>>
i: 0 j: 10 substr(o123456789, 0, 10): <<>>
i: 0 j: 11 substr(o123456789, 0, 11): <<>>
i: 0 j: 12 substr(o123456789, 0, 12): <<>>
i: 1 j:-12 substr(o123456789, 1,-12): <<>>
i: 1 j:-11 substr(o123456789, 1,-11): <<>>
i: 1 j:-10 substr(o123456789, 1,-10): <<>>
i: 1 j: -9 substr(o123456789, 1, -9): <<1>>
i: 1 j: -8 substr(o123456789, 1, -8): <<12>>
i: 1 j: -7 substr(o123456789, 1, -7): <<123>>
i: 1 j: -6 substr(o123456789, 1, -6): <<1234>>
i: 1 j: -5 substr(o123456789, 1, -5): <<12345>>
i: 1 j: -4 substr(o123456789, 1, -4): <<123456>>
i: 1 j: -3 substr(o123456789, 1, -3): <<1234567>>
i: 1 j: -2 substr(o123456789, 1, -2): <<12345678>>
i: 1 j: -1 substr(o123456789, 1, -1): <<123456789>>
i: 1 j: 0 substr(o123456789, 1, 0): <<>>
i: 1 j: 1 substr(o123456789, 1, 1): <<1>>
i: 1 j: 2 substr(o123456789, 1, 2): <<12>>
i: 1 j: 3 substr(o123456789, 1, 3): <<123>>
i: 1 j: 4 substr(o123456789, 1, 4): <<1234>>
i: 1 j: 5 substr(o123456789, 1, 5): <<12345>>
i: 1 j: 6 substr(o123456789, 1, 6): <<123456>>
i: 1 j: 7 substr(o123456789, 1, 7): <<1234567>>
i: 1 j: 8 substr(o123456789, 1, 8): <<12345678>>
i: 1 j: 9 substr(o123456789, 1, 9): <<123456789>>
i: 1 j: 10 substr(o123456789, 1, 10): <<>>
i: 1 j: 11 substr(o123456789, 1, 11): <<>>
i: 1 j: 12 substr(o123456789, 1, 12): <<>>
i: 2 j:-12 substr(o123456789, 2,-12): <<>>
i: 2 j:-11 substr(o123456789, 2,-11): <<>>
i: 2 j:-10 substr(o123456789, 2,-10): <<>>
i: 2 j: -9 substr(o123456789, 2, -9): <<>>
i: 2 j: -8 substr(o123456789, 2, -8): <<2>>
i: 2 j: -7 substr(o123456789, 2, -7): <<23>>
i: 2 j: -6 substr(o123456789, 2, -6): <<234>>
i: 2 j: -5 substr(o123456789, 2, -5): <<2345>>
i: 2 j: -4 substr(o123456789, 2, -4): <<23456>>
i: 2 j: -3 substr(o123456789, 2, -3): <<234567>>
i: 2 j: -2 substr(o123456789, 2, -2): <<2345678>>
i: 2 j: -1 substr(o123456789, 2, -1): <<23456789>>
i: 2 j: 0 substr(o123456789, 2, 0): <<>>
i: 2 j: 1 substr(o123456789, 2, 1): <<>>
i: 2 j: 2 substr(o123456789, 2, 2): <<2>>
i: 2 j: 3 substr(o123456789, 2, 3): <<23>>
i: 2 j: 4 substr(o123456789, 2, 4): <<234>>
i: 2 j: 5 substr(o123456789, 2, 5): <<2345>>
i: 2 j: 6 substr(o123456789, 2, 6): <<23456>>
i: 2 j: 7 substr(o123456789, 2, 7): <<234567>>
i: 2 j: 8 substr(o123456789, 2, 8): <<2345678>>
i: 2 j: 9 substr(o123456789, 2, 9): <<23456789>>
i: 2 j: 10 substr(o123456789, 2, 10): <<>>
i: 2 j: 11 substr(o123456789, 2, 11): <<>>
i: 2 j: 12 substr(o123456789, 2, 12): <<>>
i: 3 j:-12 substr(o123456789, 3,-12): <<>>
i: 3 j:-11 substr(o123456789, 3,-11): <<>>
i: 3 j:-10 substr(o123456789, 3,-10): <<>>
i: 3 j: -9 substr(o123456789, 3, -9): <<>>
i: 3 j: -8 substr(o123456789, 3, -8): <<>>
i: 3 j: -7 substr(o123456789, 3, -7): <<3>>
i: 3 j: -6 substr(o123456789, 3, -6): <<34>>
i: 3 j: -5 substr(o123456789, 3, -5): <<345>>
i: 3 j: -4 substr(o123456789, 3, -4): <<3456>>
i: 3 j: -3 substr(o123456789, 3, -3): <<34567>>
i: 3 j: -2 substr(o123456789, 3, -2): <<345678>>
i: 3 j: -1 substr(o123456789, 3, -1): <<3456789>>
i: 3 j: 0 substr(o123456789, 3, 0): <<>>
i: 3 j: 1 substr(o123456789, 3, 1): <<>>
i: 3 j: 2 substr(o123456789, 3, 2): <<>>
i: 3 j: 3 substr(o123456789, 3, 3): <<3>>
i: 3 j: 4 substr(o123456789, 3, 4): <<34>>
i: 3 j: 5 substr(o123456789, 3, 5): <<345>>
i: 3 j: 6 substr(o123456789, 3, 6): <<3456>>
i: 3 j: 7 substr(o123456789, 3, 7): <<34567>>
i: 3 j: 8 substr(o123456789, 3, 8): <<345678>>
i: 3 j: 9 substr(o123456789, 3, 9): <<3456789>>
i: 3 j: 10 substr(o123456789, 3, 10): <<>>
i: 3 j: 11 substr(o123456789, 3, 11): <<>>
i: 3 j: 12 substr(o123456789, 3, 12): <<>>
i: 4 j:-12 substr(o123456789, 4,-12): <<>>
i: 4 j:-11 substr(o123456789, 4,-11): <<>>
i: 4 j:-10 substr(o123456789, 4,-10): <<>>
i: 4 j: -9 substr(o123456789, 4, -9): <<>>
i: 4 j: -8 substr(o123456789, 4, -8): <<>>
i: 4 j: -7 substr(o123456789, 4, -7): <<>>
i: 4 j: -6 substr(o123456789, 4, -6): <<4>>
i: 4 j: -5 substr(o123456789, 4, -5): <<45>>
i: 4 j: -4 substr(o123456789, 4, -4): <<456>>
i: 4 j: -3 substr(o123456789, 4, -3): <<4567>>
i: 4 j: -2 substr(o123456789, 4, -2): <<45678>>
i: 4 j: -1 substr(o123456789, 4, -1): <<456789>>
i: 4 j: 0 substr(o123456789, 4, 0): <<>>
i: 4 j: 1 substr(o123456789, 4, 1): <<>>
i: 4 j: 2 substr(o123456789, 4, 2): <<>>
i: 4 j: 3 substr(o123456789, 4, 3): <<>>
i: 4 j: 4 substr(o123456789, 4, 4): <<4>>
i: 4 j: 5 substr(o123456789, 4, 5): <<45>>
i: 4 j: 6 substr(o123456789, 4, 6): <<456>>
i: 4 j: 7 substr(o123456789, 4, 7): <<4567>>
i: 4 j: 8 substr(o123456789, 4, 8): <<45678>>
i: 4 j: 9 substr(o123456789, 4, 9): <<456789>>
i: 4 j: 10 substr(o123456789, 4, 10): <<>>
i: 4 j: 11 substr(o123456789, 4, 11): <<>>
i: 4 j: 12 substr(o123456789, 4, 12): <<>>
i: 5 j:-12 substr(o123456789, 5,-12): <<>>
i: 5 j:-11 substr(o123456789, 5,-11): <<>>
i: 5 j:-10 substr(o123456789, 5,-10): <<>>
i: 5 j: -9 substr(o123456789, 5, -9): <<>>
i: 5 j: -8 substr(o123456789, 5, -8): <<>>
i: 5 j: -7 substr(o123456789, 5, -7): <<>>
i: 5 j: -6 substr(o123456789, 5, -6): <<>>
i: 5 j: -5 substr(o123456789, 5, -5): <<5>>
i: 5 j: -4 substr(o123456789, 5, -4): <<56>>
i: 5 j: -3 substr(o123456789, 5, -3): <<567>>
i: 5 j: -2 substr(o123456789, 5, -2): <<5678>>
i: 5 j: -1 substr(o123456789, 5, -1): <<56789>>
i: 5 j: 0 substr(o123456789, 5, 0): <<>>
i: 5 j: 1 substr(o123456789, 5, 1): <<>>
i: 5 j: 2 substr(o123456789, 5, 2): <<>>
i: 5 j: 3 substr(o123456789, 5, 3): <<>>
i: 5 j: 4 substr(o123456789, 5, 4): <<>>
i: 5 j: 5 substr(o123456789, 5, 5): <<5>>
i: 5 j: 6 substr(o123456789, 5, 6): <<56>>
i: 5 j: 7 substr(o123456789, 5, 7): <<567>>
i: 5 j: 8 substr(o123456789, 5, 8): <<5678>>
i: 5 j: 9 substr(o123456789, 5, 9): <<56789>>
i: 5 j: 10 substr(o123456789, 5, 10): <<>>
i: 5 j: 11 substr(o123456789, 5, 11): <<>>
i: 5 j: 12 substr(o123456789, 5, 12): <<>>
i: 6 j:-12 substr(o123456789, 6,-12): <<>>
i: 6 j:-11 substr(o123456789, 6,-11): <<>>
i: 6 j:-10 substr(o123456789, 6,-10): <<>>
i: 6 j: -9 substr(o123456789, 6, -9): <<>>
i: 6 j: -8 substr(o123456789, 6, -8): <<>>
i: 6 j: -7 substr(o123456789, 6, -7): <<>>
i: 6 j: -6 substr(o123456789, 6, -6): <<>>
i: 6 j: -5 substr(o123456789, 6, -5): <<>>
i: 6 j: -4 substr(o123456789, 6, -4): <<6>>
i: 6 j: -3 substr(o123456789, 6, -3): <<67>>
i: 6 j: -2 substr(o123456789, 6, -2): <<678>>
i: 6 j: -1 substr(o123456789, 6, -1): <<6789>>
i: 6 j: 0 substr(o123456789, 6, 0): <<>>
i: 6 j: 1 substr(o123456789, 6, 1): <<>>
i: 6 j: 2 substr(o123456789, 6, 2): <<>>
i: 6 j: 3 substr(o123456789, 6, 3): <<>>
i: 6 j: 4 substr(o123456789, 6, 4): <<>>
i: 6 j: 5 substr(o123456789, 6, 5): <<>>
i: 6 j: 6 substr(o123456789, 6, 6): <<6>>
i: 6 j: 7 substr(o123456789, 6, 7): <<67>>
i: 6 j: 8 substr(o123456789, 6, 8): <<678>>
i: 6 j: 9 substr(o123456789, 6, 9): <<6789>>
i: 6 j: 10 substr(o123456789, 6, 10): <<>>
i: 6 j: 11 substr(o123456789, 6, 11): <<>>
i: 6 j: 12 substr(o123456789, 6, 12): <<>>
i: 7 j:-12 substr(o123456789, 7,-12): <<>>
i: 7 j:-11 substr(o123456789, 7,-11): <<>>
i: 7 j:-10 substr(o123456789, 7,-10): <<>>
i: 7 j: -9 substr(o123456789, 7, -9): <<>>
i: 7 j: -8 substr(o123456789, 7, -8): <<>>
i: 7 j: -7 substr(o123456789, 7, -7): <<>>
i: 7 j: -6 substr(o123456789, 7, -6): <<>>
i: 7 j: -5 substr(o123456789, 7, -5): <<>>
i: 7 j: -4 substr(o123456789, 7, -4): <<>>
i: 7 j: -3 substr(o123456789, 7, -3): <<7>>
i: 7 j: -2 substr(o123456789, 7, -2): <<78>>
i: 7 j: -1 substr(o123456789, 7, -1): <<789>>
i: 7 j: 0 substr(o123456789, 7, 0): <<>>
i: 7 j: 1 substr(o123456789, 7, 1): <<>>
i: 7 j: 2 substr(o123456789, 7, 2): <<>>
i: 7 j: 3 substr(o123456789, 7, 3): <<>>
i: 7 j: 4 substr(o123456789, 7, 4): <<>>
i: 7 j: 5 substr(o123456789, 7, 5): <<>>
i: 7 j: 6 substr(o123456789, 7, 6): <<>>
i: 7 j: 7 substr(o123456789, 7, 7): <<7>>
i: 7 j: 8 substr(o123456789, 7, 8): <<78>>
i: 7 j: 9 substr(o123456789, 7, 9): <<789>>
i: 7 j: 10 substr(o123456789, 7, 10): <<>>
i: 7 j: 11 substr(o123456789, 7, 11): <<>>
i: 7 j: 12 substr(o123456789, 7, 12): <<>>
i: 8 j:-12 substr(o123456789, 8,-12): <<>>
i: 8 j:-11 substr(o123456789, 8,-11): <<>>
i: 8 j:-10 substr(o123456789, 8,-10): <<>>
i: 8 j: -9 substr(o123456789, 8, -9): <<>>
i: 8 j: -8 substr(o123456789, 8, -8): <<>>
i: 8 j: -7 substr(o123456789, 8, -7): <<>>
i: 8 j: -6 substr(o123456789, 8, -6): <<>>
i: 8 j: -5 substr(o123456789, 8, -5): <<>>
i: 8 j: -4 substr(o123456789, 8, -4): <<>>
i: 8 j: -3 substr(o123456789, 8, -3): <<>>
i: 8 j: -2 substr(o123456789, 8, -2): <<8>>
i: 8 j: -1 substr(o123456789, 8, -1): <<89>>
i: 8 j: 0 substr(o123456789, 8, 0): <<>>
i: 8 j: 1 substr(o123456789, 8, 1): <<>>
i: 8 j: 2 substr(o123456789, 8, 2): <<>>
i: 8 j: 3 substr(o123456789, 8, 3): <<>>
i: 8 j: 4 substr(o123456789, 8, 4): <<>>
i: 8 j: 5 substr(o123456789, 8, 5): <<>>
i: 8 j: 6 substr(o123456789, 8, 6): <<>>
i: 8 j: 7 substr(o123456789, 8, 7): <<>>
i: 8 j: 8 substr(o123456789, 8, 8): <<8>>
i: 8 j: 9 substr(o123456789, 8, 9): <<89>>
i: 8 j: 10 substr(o123456789, 8, 10): <<>>
i: 8 j: 11 substr(o123456789, 8, 11): <<>>
i: 8 j: 12 substr(o123456789, 8, 12): <<>>
i: 9 j:-12 substr(o123456789, 9,-12): <<>>
i: 9 j:-11 substr(o123456789, 9,-11): <<>>
i: 9 j:-10 substr(o123456789, 9,-10): <<>>
i: 9 j: -9 substr(o123456789, 9, -9): <<>>
i: 9 j: -8 substr(o123456789, 9, -8): <<>>
i: 9 j: -7 substr(o123456789, 9, -7): <<>>
i: 9 j: -6 substr(o123456789, 9, -6): <<>>
i: 9 j: -5 substr(o123456789, 9, -5): <<>>
i: 9 j: -4 substr(o123456789, 9, -4): <<>>
i: 9 j: -3 substr(o123456789, 9, -3): <<>>
i: 9 j: -2 substr(o123456789, 9, -2): <<>>
i: 9 j: -1 substr(o123456789, 9, -1): <<9>>
i: 9 j: 0 substr(o123456789, 9, 0): <<>>
i: 9 j: 1 substr(o123456789, 9, 1): <<>>
i: 9 j: 2 substr(o123456789, 9, 2): <<>>
i: 9 j: 3 substr(o123456789, 9, 3): <<>>
i: 9 j: 4 substr(o123456789, 9, 4): <<>>
i: 9 j: 5 substr(o123456789, 9, 5): <<>>
i: 9 j: 6 substr(o123456789, 9, 6): <<>>
i: 9 j: 7 substr(o123456789, 9, 7): <<>>
i: 9 j: 8 substr(o123456789, 9, 8): <<>>
i: 9 j: 9 substr(o123456789, 9, 9): <<9>>
i: 9 j: 10 substr(o123456789, 9, 10): <<>>
i: 9 j: 11 substr(o123456789, 9, 11): <<>>
i: 9 j: 12 substr(o123456789, 9, 12): <<>>
i: 10 j:-12 substr(o123456789, 10,-12): <<>>
i: 10 j:-11 substr(o123456789, 10,-11): <<>>
i: 10 j:-10 substr(o123456789, 10,-10): <<>>
i: 10 j: -9 substr(o123456789, 10, -9): <<>>
i: 10 j: -8 substr(o123456789, 10, -8): <<>>
i: 10 j: -7 substr(o123456789, 10, -7): <<>>
i: 10 j: -6 substr(o123456789, 10, -6): <<>>
i: 10 j: -5 substr(o123456789, 10, -5): <<>>
i: 10 j: -4 substr(o123456789, 10, -4): <<>>
i: 10 j: -3 substr(o123456789, 10, -3): <<>>
i: 10 j: -2 substr(o123456789, 10, -2): <<>>
i: 10 j: -1 substr(o123456789, 10, -1): <<>>
i: 10 j: 0 substr(o123456789, 10, 0): <<>>
i: 10 j: 1 substr(o123456789, 10, 1): <<>>
i: 10 j: 2 substr(o123456789, 10, 2): <<>>
i: 10 j: 3 substr(o123456789, 10, 3): <<>>
i: 10 j: 4 substr(o123456789, 10, 4): <<>>
i: 10 j: 5 substr(o123456789, 10, 5): <<>>
i: 10 j: 6 substr(o123456789, 10, 6): <<>>
i: 10 j: 7 substr(o123456789, 10, 7): <<>>
i: 10 j: 8 substr(o123456789, 10, 8): <<>>
i: 10 j: 9 substr(o123456789, 10, 9): <<>>
i: 10 j: 10 substr(o123456789, 10, 10): <<>>
i: 10 j: 11 substr(o123456789, 10, 11): <<>>
i: 10 j: 12 substr(o123456789, 10, 12): <<>>
i: 11 j:-12 substr(o123456789, 11,-12): <<>>
i: 11 j:-11 substr(o123456789, 11,-11): <<>>
i: 11 j:-10 substr(o123456789, 11,-10): <<>>
i: 11 j: -9 substr(o123456789, 11, -9): <<>>
i: 11 j: -8 substr(o123456789, 11, -8): <<>>
i: 11 j: -7 substr(o123456789, 11, -7): <<>>
i: 11 j: -6 substr(o123456789, 11, -6): <<>>
i: 11 j: -5 substr(o123456789, 11, -5): <<>>
i: 11 j: -4 substr(o123456789, 11, -4): <<>>
i: 11 j: -3 substr(o123456789, 11, -3): <<>>
i: 11 j: -2 substr(o123456789, 11, -2): <<>>
i: 11 j: -1 substr(o123456789, 11, -1): <<>>
i: 11 j: 0 substr(o123456789, 11, 0): <<>>
i: 11 j: 1 substr(o123456789, 11, 1): <<>>
i: 11 j: 2 substr(o123456789, 11, 2): <<>>
i: 11 j: 3 substr(o123456789, 11, 3): <<>>
i: 11 j: 4 substr(o123456789, 11, 4): <<>>
i: 11 j: 5 substr(o123456789, 11, 5): <<>>
i: 11 j: 6 substr(o123456789, 11, 6): <<>>
i: 11 j: 7 substr(o123456789, 11, 7): <<>>
i: 11 j: 8 substr(o123456789, 11, 8): <<>>
i: 11 j: 9 substr(o123456789, 11, 9): <<>>
i: 11 j: 10 substr(o123456789, 11, 10): <<>>
i: 11 j: 11 substr(o123456789, 11, 11): <<>>
i: 11 j: 12 substr(o123456789, 11, 12): <<>>
i: 12 j:-12 substr(o123456789, 12,-12): <<>>
i: 12 j:-11 substr(o123456789, 12,-11): <<>>
i: 12 j:-10 substr(o123456789, 12,-10): <<>>
i: 12 j: -9 substr(o123456789, 12, -9): <<>>
i: 12 j: -8 substr(o123456789, 12, -8): <<>>
i: 12 j: -7 substr(o123456789, 12, -7): <<>>
i: 12 j: -6 substr(o123456789, 12, -6): <<>>
i: 12 j: -5 substr(o123456789, 12, -5): <<>>
i: 12 j: -4 substr(o123456789, 12, -4): <<>>
i: 12 j: -3 substr(o123456789, 12, -3): <<>>
i: 12 j: -2 substr(o123456789, 12, -2): <<>>
i: 12 j: -1 substr(o123456789, 12, -1): <<>>
i: 12 j: 0 substr(o123456789, 12, 0): <<>>
i: 12 j: 1 substr(o123456789, 12, 1): <<>>
i: 12 j: 2 substr(o123456789, 12, 2): <<>>
i: 12 j: 3 substr(o123456789, 12, 3): <<>>
i: 12 j: 4 substr(o123456789, 12, 4): <<>>
i: 12 j: 5 substr(o123456789, 12, 5): <<>>
i: 12 j: 6 substr(o123456789, 12, 6): <<>>
i: 12 j: 7 substr(o123456789, 12, 7): <<>>
i: 12 j: 8 substr(o123456789, 12, 8): <<>>
i: 12 j: 9 substr(o123456789, 12, 9): <<>>
i: 12 j: 10 substr(o123456789, 12, 10): <<>>
i: 12 j: 11 substr(o123456789, 12, 11): <<>>
i: 12 j: 12 substr(o123456789, 12, 12): <<>>

View file

@ -0,0 +1,31 @@
mlr --icsvlite --opprint put $langue = toupper($langue) ./reg_test/input/utf8-1.csv
langue nom jour
FRANÇAIS françois vendredi
ŽUSZ éloignée -
mlr --icsvlite --opprint put $nom = toupper($nom) ./reg_test/input/utf8-1.csv
langue nom jour
français FRANÇOIS vendredi
žusz ÉLOIGNÉE -
mlr --icsvlite --opprint put $jour = toupper($jour) ./reg_test/input/utf8-1.csv
langue nom jour
français françois VENDREDI
žusz éloignée -
mlr --icsvlite --opprint put $langue = capitalize($langue) ./reg_test/input/utf8-1.csv
langue nom jour
Français françois vendredi
Žusz éloignée -
mlr --icsvlite --opprint put $nom = capitalize($nom) ./reg_test/input/utf8-1.csv
langue nom jour
français François vendredi
žusz Éloignée -
mlr --icsvlite --opprint put $jour = capitalize($jour) ./reg_test/input/utf8-1.csv
langue nom jour
français françois Vendredi
žusz éloignée -

View file

@ -26,3 +26,70 @@ a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr -I --opprint head -n 2 /Users/kerl/pub_http_internet/miller-releases/miller-head/c/output-regtest/abixy.temp1 /Users/kerl/pub_http_internet/miller-releases/miller-head/c/output-regtest/abixy.temp2
cat /Users/kerl/pub_http_internet/miller-releases/miller-head/c/output-regtest/abixy.temp1
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
cat /Users/kerl/pub_http_internet/miller-releases/miller-head/c/output-regtest/abixy.temp2
a b i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
mlr -I --opprint head -n 2
mlr: -I option (in-place operation) requires input files.
mlr -I --opprint -n head -n 2 /Users/kerl/pub_http_internet/miller-releases/miller-head/c/output-regtest/abixy.temp1
mlr: -I option (in-place operation) requires input files.
cat /Users/kerl/pub_http_internet/miller-releases/miller-head/c/output-regtest/abixy.temp1
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
cat /Users/kerl/pub_http_internet/miller-releases/miller-head/c/output-regtest/abixy.temp2
a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
mlr -I --opprint rename a,AYE,b,BEE /Users/kerl/pub_http_internet/miller-releases/miller-head/c/output-regtest/abixy.temp1 /Users/kerl/pub_http_internet/miller-releases/miller-head/c/output-regtest/abixy.temp2
cat /Users/kerl/pub_http_internet/miller-releases/miller-head/c/output-regtest/abixy.temp1
AYE BEE i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864
cat /Users/kerl/pub_http_internet/miller-releases/miller-head/c/output-regtest/abixy.temp2
AYE BEE i x y
pan pan 1 0.3467901443380824 0.7268028627434533
eks pan 2 0.7586799647899636 0.5221511083334797
wye wye 3 0.20460330576630303 0.33831852551664776
eks wye 4 0.38139939387114097 0.13418874328430463
wye pan 5 0.5732889198020006 0.8636244699032729
zee pan 6 0.5271261600918548 0.49322128674835697
eks zee 7 0.6117840605678454 0.1878849191181694
zee wye 8 0.5985540091064224 0.976181385699006
hat wye 9 0.03144187646093577 0.7495507603507059
pan wye 10 0.5026260055412137 0.9526183602969864

View file

@ -0,0 +1,21 @@
mlr --icsv --opprint cat ./reg_test/input/bom.csv
a b c
1 2 3
4 5 6
mlr --icsv --opprint cat
a b c
1 2 3
4 5 6
mlr --icsv --opprint cat ./reg_test/input/bom-dquote-header.csv
a b c
1 2 3
4 5 6
mlr --icsv --opprint cat
a b c
1 2 3
4 5 6