Geektools twitter och åäö vill inte fungera

Tråden skapades och har fått 4 svar. Det senaste inlägget skrevs .
1

Finns det någon som fått detta att fungera?

Hittade detta scriptet på nätet som jag modifierat något så blir det åtminstonde a istället för å osv

#!/bin/sh
# Original news.sh script by Rodolfo Novak.
# News.sh website: sh-rss-feed - Project Hosting on Google Code.

# Edited to become Tweets.sh by SphereCat1.
# Version 1.4.1: Got rid of extra space on the left & now replaces all unknown characters with ?. (Fixed it temporarily to work with multiple lengths. Working on figuring out a permanent solution.)

# Here are the variables you can edit safely:

# Feed URL, with username & password in the correct spots:
URL="http://mytwittername:password@twitter.com/sta..."

# Number of updates to display:
HOWMANY="8"

# K, now no more editing unless you know what you're doing.
# (Or you have a backup copy)

headarg="-$HOWMANY"

curl --silent "$URL" > /Users/myname/tweets.txt

if [[ `cat /Users/myname/tweets.txt` == *\<error\>* ]]; then
grep -E '(error>)' /Users/myname/tweets.txt | \
sed -e 's/<error>//' -e 's/<\/error>//' |
sed -e 's/<[^>]*>//g' |

head $headarg | sed G | fmt

else
grep -E '(description>)' /Users/myname/tweets.txt | \
sed -n '2,$p' | \
sed -e 's/<description>//' -e 's/<\/description>//' |
sed -e 's/<[^>]*>//g' |
sed -e 's/\&amp\;/\&/g' | # Amperstand
sed -e 's/\&lt\;/\</g' | # Less-than
sed -e 's/\&gt\;/\>/g' | # Greater-than
sed -e 's/\&quot\;/\"/g' | # Double quoted
sed -e 's/\&#229\;/\a/g' | # å
sed -e 's/\&#228\;/\a/g' | # ä
sed -e 's/\&#246\;/\o/g' | # ö
sed -e 's/\&#197\;/\A/g' | # Å
sed -e 's/\&#196\;/\A/g' | # Ä
sed -e 's/\&#214\;/\O/g' | # Ö

head $headarg | sed G | fmt

fi

Tacksam för tips.

Jag kör för tillfället inte geektool, men gissar att ditt problem är att xmlen är full med htmlentities. För att fixa det i bash, så kör man t.ex. med perl.

Testa att byta ut:

sed -e 's/\&amp\;/\&/g' |    # Amperstand
    sed -e 's/\&lt\;/\</g' |     # Less-than
    sed -e 's/\&gt\;/\>/g' |     # Greater-than
    sed -e 's/\&quot\;/\"/g' |   # Double quoted
    sed -e 's/\å\;/\a/g' |   # å
    sed -e 's/\ä\;/\a/g' |   # ä
    sed -e 's/\ö\;/\o/g' |   # ö
    sed -e 's/\Å\;/\A/g' |   # Å
    sed -e 's/\Ä\;/\A/g' |   # Ä
    sed -e 's/\Ö\;/\O/g' |   # Ö 

Till:

perl -MHTML::Entities -ple 'decode_entities $_' | 

En till kommentar, personligen tycker jag inte det är vidare snyggt att köra regexp mot xml, och det går faktiskt att undvikas mha t.ex. perl's xpath.

T.ex.

curl --silent http://****:****@twitter.com/statuses/friends... | 
xpath '//description/text()' 2>&1 | 
sed "s/-- NODE --//g;1,3d" | 
head -8 | 
perl -MHTML::Entities -ple 'decode_entities $_'

Tack för era svar dock så får jag bara de första 29 tecknen från twitter när jag byter till era kodförslag. Några nya förslag på lösning ?

Märkligt.

Jag testade nu själv installera geektool. Jag satte hela kommandot från mitt förra inlägg som i command fältet. Refresh på 60 sekunder samt output encoding till ASCII. Fungerar perfekt.

1
Bevaka tråden