[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]
On 19/04/13 21:36, Grant Phillips-Sewell wrote: > Hi all, > > I'm trying to write a little script that can read a file and invoke > twidge to tweet its contents to Twitter. > > The # symbol, being a special character (I think) is the root the my > problems... and being Twitter, the # symbol is going to be used a fair > bit. > > If I invoke twidge from the command line as this: > $ twidge update "#generic #twitter #update" > then all is well. The # symbol(s) are wrapped up in "" nicely. > > I haven't got to the reading-from-a-file bit yet, but here's what I have: > > #!/bin/sh > # Send Twitter updates through Twidge > command="twidge update" > status="$@" > $command $status > > As it is, if I have no # symbols, it will work fine... however pop a # > in there and it fails. It also fails with # symbols if I wrap the last > line as: > $command "$status" Single quotes instead? > > As it is, if I escape the # symbols, then it works fine... so I crack > out sed...: > status=`echo "$@" | sed -e "s/#/\#/g"` ... fails > status=`echo "$@" | sed -e "s/\#/\\#/g"` ... fails (escaping the # > symbol in sed) > status=`echo "$@" | sed -e "s/\#/\\\#/g"` ... fails (escaping the # > symbol and the \ symbol in the replacement string) Maybe try another \ escape - don't forget the shell will escape too another level up. > > Now, regexes of any nature have never been my strong point. I was > successful with > status=`echo "$@" | sed -e "s/~/#/g"` ... (replacing the ~ with the # symbol) > but I don't really want my text file(s) to all have ~ instead of # > symbols if I can get away with it. > > Anybody got any ideas? > Nothing in the world drives me crazier than this sort of scripting madness - knees deep in awk and sed things get really confusing! You know that you're close, it's just finding the exact invocation. Regards -- The Mailing List for the Devon & Cornwall LUG http://mailman.dclug.org.uk/listinfo/list FAQ: http://www.dcglug.org.uk/listfaq