HELP!crontab script displays output differently than command line

Joined
Feb 4, 2012
Messages
4
Reaction score
0
Points
1
hey guys, I was working on setting up a geeklet for my facebook news feeds.

heres what i am doing

1. I am running a script from crontab every five min.
heres the script. all im doing is removing html tags and tabs from the output of curl.


localhost:geeklets root# cat extrct_fb.sh
#!/bin/ksh

GEEKHOME=/Users/spankincubus/Documents/geeklets
FBLOG=${GEEKHOME}/sajal.txt

curl --silent "http://www.gencolee.com/fb/newsfeedrss.php?u=540891642&s=9f8513cc5b1c6472419e24.0-540891642"|awk '/pubDate/,/\/description/'|sed 's/^I//g'|sed 's/<[^>]*>//g'|sed 's/\]\]>//g' |sed '/http/d;s/ //g'|sed 's/^[^>]*0800$//g'|tr -d " "|fold|cat -s > ${FBLOG}

if [[ $? -eq 0 ]]; then
echo "FB logs written!"
else
exit 1
fi

The output of this script has no spaces between words:
localhost:geeklets root# cat sajal.txt

1RajeshKumar
AgneepathEffect♥


Beta:Mandwa:D:p

AlexisMcDaniel
Howaboutbeforewegetwastedtonight,wegetwastedtonight?Pregame.

AshwathGowdaDanihalli
PartyingWithMadhu,Harish,pavaninMalleswaram,Banglore

Mashable
WhichChromepluginswouldyourecommend?

Domino'sPizza
Here’sasecrettoawinningpartyonSunday:placeaDomino’spre-orderTODAY!



BUT

when i run the curl command from the command line the output(in italics) is flawless (spaces betn words are intact):


localhost:geeklets root# curl --silent "http://www.gencolee.com/fb/newsfeedrss.php?u=540891642&s=9f8513cc5b1c647612419e24.0-540891642"|awk '/pubDate/,/\/description/'|sed 's/ //g'|sed 's/<[^>]*>//g'|sed 's/\]\]>//g' |sed '/http/d;s/ //g'|sed 's/^[^>]*0800$//g'|tr -d " "|fold|cat -s

1Ashwath Gowda Danihalli
Partying With Madhu , Harish , pavan in Malleswaram,Banglore

Mashable
Which Chrome plugins would you recommend?

Domino's Pizza
Here’s a secret to a winning party on Sunday: place a Domino’s pre-order TODAY!

Best Buy
Take the hassle out of moving your data from your old PC to that shiny new lapto
p.

Mashable
Will you be watching the streaming version of Super Bowl XLVI online?

Sierra Mist
Superbowl party tomorrow? Try out these festive cocktails for a perfect way to w
ash down those game day snacks!

Best Buy
Thank You to Dreams Come True for choosing Best Buy to fulfill Zowanda's wish fo
r electronics!


How can i get the same output from cronning script !
 

vansmith

Senior Member
Joined
Oct 19, 2008
Messages
19,924
Reaction score
559
Points
113
Location
Queensland
Your Mac's Specs
Mini (2014, 2018, 2020), MBA (2020), iPad Pro (2018), iPhone 13 Pro Max, Watch (S6)
Hmmm, I can't speak to this issue directly (I am neither a cron or sed expert) but I do know that GeekTool has a refresh function. With that, you can have GT refresh the script at a set interval. Maybe you could try that instead of using cron.

I also believe cron has been deprecated in OS X with launchd replacing it. It might be worth looking into that as well.
 
Joined
Mar 17, 2008
Messages
6,879
Reaction score
191
Points
63
Location
Tucson, AZ
Your Mac's Specs
Way... way too many specs to list.
tr -d " " <--- delete character "space"
 
OP
S
Joined
Feb 4, 2012
Messages
4
Reaction score
0
Points
1
thanks guys.. im stupid.. it was indeed the tr and sed.. i copied and pasted the code. and the ^I(tabs) got transformed to single spaces.

Silly of me. Sorry to waste you guys time..

its working perfectly now.

However i was thinking of refining it some more. i was thinking of making the output of the txt scrollable ie. print lines 0-10, then 11-21 ,.. and so on .. until end of file is reached.
the code is working on command line (see below) but when i call the script in the geektool, it doesnt show anything. any recommendations?

CODE

localhost:geeklets root# cat scroll.sh
#!/bin/ksh

typeset -i start=1
end=`wc -l test.txt|awk -F" " '{print $1}'`
typeset -i end1=$start+10
echo $start $end $end1

while [[ $start -lt $end ]]; do
clear
str="'${start},${end1}p' test.txt"
echo "sed -n $str"|/bin/ksh
start=${start}+1
end1=${end1}+1
sleep 1
done
 

Shop Amazon


Shop for your Apple, Mac, iPhone and other computer products on Amazon.
We are a participant in the Amazon Services LLC Associates Program, an affiliate program designed to provide a means for us to earn fees by linking to Amazon and affiliated sites.
Top