Unix 使用SED删除引号

Unix 使用SED删除引号,unix,shell,Unix,Shell,我正在使用下面的命令跟踪Twitter上的一些关键字。我只想打印tweet作者的“screen_name”属性。我可以让下面的命令工作,但想删除“引号”从作者屏幕的名称。我怎么能这样做 curl -N -d @tracking http://stream.twitter.com/1/statuses/filter.json \ -umyuser:mypass | \ sed -e 's/[{}]/''/g' | \ awk -v RS=',"' -F: '/^screen_name/

我正在使用下面的命令跟踪Twitter上的一些关键字。我只想打印tweet作者的“screen_name”属性。我可以让下面的命令工作,但想删除“引号”从作者屏幕的名称。我怎么能这样做

curl -N -d @tracking http://stream.twitter.com/1/statuses/filter.json \
     -umyuser:mypass | \
sed -e 's/[{}]/''/g' | \
awk -v RS=',"' -F: '/^screen_name/ {print $2}'
你可以做:

...existing_commands | sed 's/"//g'
为什么要使用sed

| tr -d '"'

正确的工具用于正确的工作。

聚会有点晚了,这个实用程序听起来对解析json twitter返回非常有用:


它更好,因为它也可以在Windows中工作(使用gnuwin32)

如果当前命令将
“user\u name”
作为输出,那么在末尾添加
| sed's//“//g'
应该将
user\u name
作为输出。不,不起作用..如果我用“>文件执行初始命令“最后它不会写入文件。也许与{print$2}有关。思考?@user430830:如果给出的“sed”命令不起作用,那么在命令管道的后面会出现问题。您可能会发现,在管道的各个阶段之间插入“
tee fileN.out”
”(针对不同的N值)以查看问题所在。为什么这里有额外的单引号
sed-e的//[{}]/'/g'
它不应该是
sed-e的//[{}]//g'
?进入
sed
awk
之前,
curl
命令的输出是什么样子的。包含
sed
awk
的管道通常可以简化为不包含
sed
的管道。我的脚本需要与solaris兼容:-),因此我需要一个sed,因为tr在solaris上不太好只要使用
/usr/xpg6/bin/tr
,在solaris上没有什么大问题
/usr/bin/tr
。不确定在无代理配置系统中要做的合乎逻辑的事情是在目标系统上的xpg6中查找二进制文件。我会记住这一点,但我宁愿用sed编写一个脚本。我理解你的沮丧。我建议只将
路径设置为
/usr/xpg6/bin:/usr/xpg4/bin:/usr/bin:/bin:/bin
;这应该使用Solaris和Linux上可用的最佳Unix工具版本,而不需要任何自定义的查找二进制代码。
cat a.txt | tr -d "\042"