DecodeZeroWidthSpace.sh
1 |
#!/bin/bash |
---|---|
2 |
|
3 |
ZWS1=$'\u200b' |
4 |
ZWS2=$'\u200c' |
5 |
ZWS3=$'\u200d' |
6 |
ZWS4=$'\ufeff' |
7 |
|
8 |
if [ -p /dev/stdin ] ; then |
9 |
CONTENT=$(cat -) |
10 |
else |
11 |
CONTENT=$1 |
12 |
fi |
13 |
|
14 |
CONTENT=$(echo $CONTENT|sed s/[^$ZWS1$ZWS2$ZWS3$ZWS4]//g ) |
15 |
|
16 |
printf "'" |
17 |
echo $CONTENT \ |
18 |
|sed s/$ZWS1/0/g \ |
19 |
|sed s/$ZWS2/1/g \ |
20 |
|sed s/$ZWS3/2/g \ |
21 |
|sed s/$ZWS4/3/g \ |
22 |
|sed 's/^/obase=16; ibase=4; &/g'|bc|xxd -ps -r|tr -d '\n' |
23 |
echo "'" |
24 |
|