snacPrintPost.sh
· 626 B · Bash
Raw
#!/usr/bin/env bash
if [ -z "$1" ]; then
echo "Usage: $0 <URL>"
exit 1
fi
if [[ -z "$SNAC_BASEDIR" ]]; then
echo "Error: SNAC_BASEDIR must be set." >&2
exit 1
fi
URL="$1"
ID="${URL##*/p/}"
PREFIX="${ID:0:2}"
FILE_PATH="$SNAC_BASEDIR/object/$PREFIX/$ID.json"
if [ ! -f "$FILE_PATH" ]; then
echo "Post - File not found: $FILE_PATH"
exit 2
fi
# Extract author and content
AUTHOR=$(jq -r '.attributedTo' "$FILE_PATH")
CONTENT=$(jq -r '.content' "$FILE_PATH" \
| sed -e 's/<[bB][rR][[:space:]]*\/?>/\n/g' \
-e 's/<[^>]*>//g')
# Print output
echo "$CONTENT"
echo
echo "Author: $AUTHOR"
echo "URL: $URL"
1 | #!/usr/bin/env bash |
2 | |
3 | if [ -z "$1" ]; then |
4 | echo "Usage: $0 <URL>" |
5 | exit 1 |
6 | fi |
7 | |
8 | if [[ -z "$SNAC_BASEDIR" ]]; then |
9 | echo "Error: SNAC_BASEDIR must be set." >&2 |
10 | exit 1 |
11 | fi |
12 | |
13 | URL="$1" |
14 | ID="${URL##*/p/}" |
15 | PREFIX="${ID:0:2}" |
16 | FILE_PATH="$SNAC_BASEDIR/object/$PREFIX/$ID.json" |
17 | |
18 | if [ ! -f "$FILE_PATH" ]; then |
19 | echo "Post - File not found: $FILE_PATH" |
20 | exit 2 |
21 | fi |
22 | |
23 | # Extract author and content |
24 | AUTHOR=$(jq -r '.attributedTo' "$FILE_PATH") |
25 | CONTENT=$(jq -r '.content' "$FILE_PATH" \ |
26 | | sed -e 's/<[bB][rR][[:space:]]*\/?>/\n/g' \ |
27 | -e 's/<[^>]*>//g') |
28 | |
29 | # Print output |
30 | echo "$CONTENT" |
31 | echo |
32 | echo "Author: $AUTHOR" |
33 | echo "URL: $URL" |