snacPrintPost.sh
· 626 B · Bash
Неформатований
#!/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" |