爆裂之股的雪球访谈的一问一答 合集

股票李魔佛 发表了文章 • 0 个评论 • 917 次浏览 • 2016-06-21 18:31 • 来自相关话题

次新股强势就代表大盘弱势,次新股都跳水,大盘就跳水了

如何判断某个题材即将爆发,判定依据是?

首选你要明白,大资金的想法,他建仓后肯定需要高位派发才能赚钱,这个时候就需要风口配合,风口如何来呢?首选是行业面的变化,比如这次物联网,是因为一个标准的建立,使这个行业面产生变化。而聪明的产业资金会悄悄潜伏,而跟风的游资也会看到券商研报的第二天竞价抢筹。而大部分散户都是复盘后,才明白是怎么回事后,导致第二天激情追高。我觉得像这种大题材,肯定会有第二波,大家耐心布局第二波就好,缩量低吸,放量加仓,净量大绿等待,净量翻红建仓,反正你的买点的落脚点一定那个转折点,不确定是否转折时,买几手玩玩就好。

 您平时经常关注哪些网站和软件发的消息呢?

查个股研报,有很多种途径,比如雪球,同花顺app,东方财富app,查某个券商的研报去东方财富官网就好。资讯就太多了,主流资讯比如四大证券报,新闻联播,财经纪新闻都是影响比较大的公众媒体。还有腾讯新闻这种的科技数码板块都是可以看的



如何用比较短的时间来熟悉个股的基本面呢?有时都不知道那个股是什么来的。还有就是上车的时间,有时看好是热点,上车的时间不对一直横盘,当你走了他就开始拉升。

我觉得选股应该自上而下的选股,单独看一只个股无意义的,游资是否拉他,要么他是龙头,要么就是跟风龙头。这个时候你要判断板块的热度,理清个股的关系。这个关系分的越细致越好。很多时候,个股的龙头也会因事件性而改变。比如和而泰跟东软载波,都是智能家居,但是和而泰因事件性的高送转,变成了龙一,所以东软就成了跟风。买股,死也要死在龙一上面,这是大概率原则,靠强势你才能赚钱,所以买强势股反抽胜算要你买弱势股超跌还好。


如果该概念板块大涨,其中某个股当日涨停,从哪些方面来判断明日是否要买进呢?也就是说如何判断是上车还是陷阱呢?

如果你确定这个题材是中线题材,那么劝你不要激情追涨,因为一只股成妖,主力肯定有个建仓的过程,不经过洗盘的股肯定走不长远。所以主力没有建仓完毕,肯定不会连续拉升让散户跟着吃肉。这个时候我们耐心布局第二波就好。这里面布局的时候有个原则,观察量,观察分时走势,主力介入的是否深入,通过放量与净量的关系,可以大致判断。还有就是低吸,尽量选在尾盘收盘前几分钟,这样当日很难吃亏,你赌的第二日继续强势。


说如何把握题材股的第二波上车机会,老司机,带带吧:


盯着第一波龙头的调整情况,他调整完毕,就会带起第二波高潮,通常第二波高潮需要一些消息面的配合。比如,这波的宜通,耐心等他缩量再放量转折点介入就好,最好有净量翻红的配合。消息面呢,据说这月底标准定稿,所以关注消息面的变化。还有就是关注产业消息,有无NB-IOT芯片上市等,成品也需要关注,比如三川的NB-IOT标准的智能水表啥时候上市。


您好!请问如何通过盘面,来发现市场选择的风口呢?

板块指数,板块内龙头个股的表现,板块内涨停个股的数量,这些都是判断市场选择板块热度的方法。板块越热买上龙头最安全,板块越弱,买上跟风最危险。

新能源版块和半导体版块的行情是不是接近尾声了?
下一个风口会在哪里?

新能源的产业链太大了,而且也是包罗万象,比如光伏,核电也是新能源。而通常大家说的新能源汽车,目前并未普及,所以行情远未结束,你至少等公路上跑的汽车至少一半啥是电动车时再考虑行情结束的问题。如果你觉得锂电池太高,不敢买,可以买一些下游的整车,或者零配件的细分细分龙头。总之汽车电子也好,消费电子也好,大发展都需要集成电路半导体大发展,所以这一块还有很长的路要走。

MEMS传感器这题材如何?

这是物联网,消费电子的基础,不过这个板块大涨,最好是有卓越的产品量产,有业绩预期才更好,就怕市场创新不足,没有量产的东西、业绩也就无法爆发了。


炒风口,啥时候就该撤了,看图大阴线?

龙头股领跌的时候



下一个热点是什么,工业4.0会吗

继续看好物联网,OLED,集成电路半导体。


请问用什么软件看版块指数,通达信的版块指数太杂,噪音太多,而且很多股票特别是新概念的版块划分也不准确

我用同花顺看板块,他的概念板块更新很快,交易目前切换到东方财富了,因为服务器比较快


 如果接下来有中级反弹,你认为现在应该潜伏布局哪个板块?谢谢

锂电池为什么会成为大盘的结构性灵魂,因为业绩。很多板块,为什么没有持续表现被证伪了,还是因为业绩。所以我们就关注哪个板块业绩爆发,我们就布局哪个板块。马上中报密集披露了,关注一下业绩大增的是哪些板块。


    
  查看全部

次新股强势就代表大盘弱势,次新股都跳水,大盘就跳水了

如何判断某个题材即将爆发,判定依据是?

首选你要明白,大资金的想法,他建仓后肯定需要高位派发才能赚钱,这个时候就需要风口配合,风口如何来呢?首选是行业面的变化,比如这次物联网,是因为一个标准的建立,使这个行业面产生变化。而聪明的产业资金会悄悄潜伏,而跟风的游资也会看到券商研报的第二天竞价抢筹。而大部分散户都是复盘后,才明白是怎么回事后,导致第二天激情追高。我觉得像这种大题材,肯定会有第二波,大家耐心布局第二波就好,缩量低吸,放量加仓,净量大绿等待,净量翻红建仓,反正你的买点的落脚点一定那个转折点,不确定是否转折时,买几手玩玩就好。

 您平时经常关注哪些网站和软件发的消息呢?

查个股研报,有很多种途径,比如雪球,同花顺app,东方财富app,查某个券商的研报去东方财富官网就好。资讯就太多了,主流资讯比如四大证券报,新闻联播,财经纪新闻都是影响比较大的公众媒体。还有腾讯新闻这种的科技数码板块都是可以看的



如何用比较短的时间来熟悉个股的基本面呢?有时都不知道那个股是什么来的。还有就是上车的时间,有时看好是热点,上车的时间不对一直横盘,当你走了他就开始拉升。

我觉得选股应该自上而下的选股,单独看一只个股无意义的,游资是否拉他,要么他是龙头,要么就是跟风龙头。这个时候你要判断板块的热度,理清个股的关系。这个关系分的越细致越好。很多时候,个股的龙头也会因事件性而改变。比如和而泰跟东软载波,都是智能家居,但是和而泰因事件性的高送转,变成了龙一,所以东软就成了跟风。买股,死也要死在龙一上面,这是大概率原则,靠强势你才能赚钱,所以买强势股反抽胜算要你买弱势股超跌还好。


如果该概念板块大涨,其中某个股当日涨停,从哪些方面来判断明日是否要买进呢?也就是说如何判断是上车还是陷阱呢?

如果你确定这个题材是中线题材,那么劝你不要激情追涨,因为一只股成妖,主力肯定有个建仓的过程,不经过洗盘的股肯定走不长远。所以主力没有建仓完毕,肯定不会连续拉升让散户跟着吃肉。这个时候我们耐心布局第二波就好。这里面布局的时候有个原则,观察量,观察分时走势,主力介入的是否深入,通过放量与净量的关系,可以大致判断。还有就是低吸,尽量选在尾盘收盘前几分钟,这样当日很难吃亏,你赌的第二日继续强势。


说如何把握题材股的第二波上车机会,老司机,带带吧:


盯着第一波龙头的调整情况,他调整完毕,就会带起第二波高潮,通常第二波高潮需要一些消息面的配合。比如,这波的宜通,耐心等他缩量再放量转折点介入就好,最好有净量翻红的配合。消息面呢,据说这月底标准定稿,所以关注消息面的变化。还有就是关注产业消息,有无NB-IOT芯片上市等,成品也需要关注,比如三川的NB-IOT标准的智能水表啥时候上市。


您好!请问如何通过盘面,来发现市场选择的风口呢?

板块指数,板块内龙头个股的表现,板块内涨停个股的数量,这些都是判断市场选择板块热度的方法。板块越热买上龙头最安全,板块越弱,买上跟风最危险。

新能源版块和半导体版块的行情是不是接近尾声了?
下一个风口会在哪里?

新能源的产业链太大了,而且也是包罗万象,比如光伏,核电也是新能源。而通常大家说的新能源汽车,目前并未普及,所以行情远未结束,你至少等公路上跑的汽车至少一半啥是电动车时再考虑行情结束的问题。如果你觉得锂电池太高,不敢买,可以买一些下游的整车,或者零配件的细分细分龙头。总之汽车电子也好,消费电子也好,大发展都需要集成电路半导体大发展,所以这一块还有很长的路要走。

MEMS传感器这题材如何?

这是物联网,消费电子的基础,不过这个板块大涨,最好是有卓越的产品量产,有业绩预期才更好,就怕市场创新不足,没有量产的东西、业绩也就无法爆发了。


炒风口,啥时候就该撤了,看图大阴线?

龙头股领跌的时候



下一个热点是什么,工业4.0会吗

继续看好物联网,OLED,集成电路半导体。


请问用什么软件看版块指数,通达信的版块指数太杂,噪音太多,而且很多股票特别是新概念的版块划分也不准确

我用同花顺看板块,他的概念板块更新很快,交易目前切换到东方财富了,因为服务器比较快


 如果接下来有中级反弹,你认为现在应该潜伏布局哪个板块?谢谢

锂电池为什么会成为大盘的结构性灵魂,因为业绩。很多板块,为什么没有持续表现被证伪了,还是因为业绩。所以我们就关注哪个板块业绩爆发,我们就布局哪个板块。马上中报密集披露了,关注一下业绩大增的是哪些板块。


    
 

雪人股份 大宗交易分析 寻找主力痕迹

股票李魔佛 发表了文章 • 0 个评论 • 1203 次浏览 • 2016-06-21 08:57 • 来自相关话题

雪人20日增持完毕,股价接近涨停。 




而最近大宗交易频繁。
 





 
在6.6日大股东进行减持,接盘的是 东北证券股份有限公司福州五一中路证券营业部 和 长城国瑞证券有限公司福州五一北路证券营业部,中信建投证券股份有限公司北京太阳宫中路证券营业部
买入了约1.5亿。

前两者都是福州五一路。而今天公告说员工计划持股完毕,大宗交易里头再次出现 了福州五一路,可是卖出方里也是福州五一路。 但是成交价却比6.6日的还低,说明6.20日雪人股份进行了对倒。 大宗交易上看明显就是同一伙人在左手倒右手。

以后主力应该就是福州五一路。
  查看全部
雪人20日增持完毕,股价接近涨停。 
QQ图片20160621082846.png

而最近大宗交易频繁。
 

QQ图片20160621082534.png

 
在6.6日大股东进行减持,接盘的是 东北证券股份有限公司福州五一中路证券营业部 和 长城国瑞证券有限公司福州五一北路证券营业部,中信建投证券股份有限公司北京太阳宫中路证券营业部
买入了约1.5亿。

前两者都是福州五一路。而今天公告说员工计划持股完毕,大宗交易里头再次出现 了福州五一路,可是卖出方里也是福州五一路。 但是成交价却比6.6日的还低,说明6.20日雪人股份进行了对倒。 大宗交易上看明显就是同一伙人在左手倒右手。

以后主力应该就是福州五一路。
 

scrapy 爬虫执行之前 如何运行自定义的函数来初始化一些数据?

回复

python低调的哥哥 回复了问题 • 2 人关注 • 1 个回复 • 3867 次浏览 • 2016-06-20 18:25 • 来自相关话题

ubuntu git 彩色显示

Linux李魔佛 发表了文章 • 0 个评论 • 1063 次浏览 • 2016-06-20 11:01 • 来自相关话题

ubuntu下需要手动配置一下的
可以在终端里敲入以下命令

alec@PC$ git config --global color.status auto
alec@PC$ git config --global color.diff auto
alec@PC$ git config --global color.branch auto
alec@PC$ git config --global color.interactive auto 查看全部
ubuntu下需要手动配置一下的
可以在终端里敲入以下命令

alec@PC$ git config --global color.status auto
alec@PC$ git config --global color.diff auto
alec@PC$ git config --global color.branch auto
alec@PC$ git config --global color.interactive auto

python中字典赋值常见错误

python李魔佛 发表了文章 • 0 个评论 • 1117 次浏览 • 2016-06-19 11:39 • 来自相关话题

初学Python,在学到字典时,出现了一个疑问,见下两个算例:
算例一:>>> x = { }
>>> y = x
>>> x = { 'a' : 'b' }
>>> y
>>> { }
算例二:>>> x = { }
>>> y = x
>>> x['a'] = 'b'
>>> y
>>> { 'a' : 'b' }

疑问:为什么算例一中,给x赋值后,y没变(还是空字典),而算例二中,对x进行添加项的操作后,y就会同步变化。
 
 
解答:

y = x 那么x,y 是对同一个对象的引用。
算例一
中x = { 'a' : 'b' } x引用了一个新的字典对象
所以出现你说的情况。
算例二:修改y,x 引用的同一字典,所以出现你说的情况。

可以加id(x), id(y) ,如果id() 函数的返回值相同,表示是对同一个对象的引用。


  查看全部
初学Python,在学到字典时,出现了一个疑问,见下两个算例:
算例一:
>>> x = { }
>>> y = x
>>> x = { 'a' : 'b' }
>>> y
>>> { }

算例二:
>>> x = { }
>>> y = x
>>> x['a'] = 'b'
>>> y
>>> { 'a' : 'b' }


疑问:为什么算例一中,给x赋值后,y没变(还是空字典),而算例二中,对x进行添加项的操作后,y就会同步变化。
 
 
解答:

y = x 那么x,y 是对同一个对象的引用。
算例一
中x = { 'a' : 'b' } x引用了一个新的字典对象
所以出现你说的情况。
算例二:修改y,x 引用的同一字典,所以出现你说的情况。

可以加id(x), id(y) ,如果id() 函数的返回值相同,表示是对同一个对象的引用。


 

深圳是一个移民城市,且是一个排外的移民城市

投资李魔佛 发表了文章 • 0 个评论 • 1152 次浏览 • 2016-06-18 07:53 • 来自相关话题

医疗体系1.广东省内实施的省内医保即时结算,就是你拿着你的医保卡可以到指定的医院去看病,直接可以刷医保卡。
目前省内已经有71家医院支持这一政策。
 










 





 
一线城市的深圳,只有可怜的一家,而且还是一家在龙岗的医院,关外的偏远地方的某家名不经传的医院。
 
 
 
2. 摇号
大量的混动车,丰田的,雷克萨斯的,统统被限制了,只能BYD的混动才能上,真的日了狗了了。 查看全部
医疗体系1.广东省内实施的省内医保即时结算,就是你拿着你的医保卡可以到指定的医院去看病,直接可以刷医保卡。
目前省内已经有71家医院支持这一政策。
 

6c0b8441b3db187142cb2c.jpg


6c0b8441b3db187142d32e.jpg

 

6c0b8441b3db187142d831.jpg

 
一线城市的深圳,只有可怜的一家,而且还是一家在龙岗的医院,关外的偏远地方的某家名不经传的医院。
 
 
 
2. 摇号
大量的混动车,丰田的,雷克萨斯的,统统被限制了,只能BYD的混动才能上,真的日了狗了了。

linux目录跳转利器 z.sh

Linux李魔佛 发表了文章 • 0 个评论 • 2151 次浏览 • 2016-06-17 17:32 • 来自相关话题

使用linux的朋友,经常要在命令下面运行命令,并且频繁地在不同的目录切换, 不断的cd ..,cd ../../../../../../bin,或者cd ../../../../../../../../../, 或者cd ~/Download/bin/
 
浪费时间且效率低下。
 
推荐大家使用一个小脚本,可以快速切换目录,不需要经常cd了。
 
拷贝下面的代码,保存为z.sh,放在用户目录下,/home/xxxx, xxx为用户名, 然后 给予 777权限, chmod 777 z.sh
 
然后 修改 .bashrc 文件, vim ~/.bashrc
 
在文件的最后添加一句 source ~/z.sh
 
然后保存.bashrc
 
然后运行 source ~./bashrc , 然后就马上生效了。
 
然后你进入到某一个目录,比如 /home/user/build/data/bin/hello/, 运行 z
 
系统会纪录你的hello目录一次,
 
下一次在其他目录比如在/etc/apt/,如果要跳转到 /home/user/build/data/bin/hello/,
直接运行 z hello 就可以了。# Copyright (c) 2009 rupa deadwyler under the WTFPL license

# maintains a jump-list of the directories you actually use
#
# INSTALL:
# * put something like this in your .bashrc/.zshrc:
# . /path/to/z.sh
# * cd around for a while to build up the db
# * PROFIT!!
# * optionally:
# set $_Z_CMD in .bashrc/.zshrc to change the command (default z).
# set $_Z_DATA in .bashrc/.zshrc to change the datafile (default ~/.z).
# set $_Z_NO_RESOLVE_SYMLINKS to prevent symlink resolution.
# set $_Z_NO_PROMPT_COMMAND if you're handling PROMPT_COMMAND yourself.
# set $_Z_EXCLUDE_DIRS to an array of directories to exclude.
# set $_Z_OWNER to your username if you want use z while sudo with $HOME kept
#
# USE:
# * z foo # cd to most frecent dir matching foo
# * z foo bar # cd to most frecent dir matching foo and bar
# * z -r foo # cd to highest ranked dir matching foo
# * z -t foo # cd to most recently accessed dir matching foo
# * z -l foo # list matches instead of cd
# * z -c foo # restrict matches to subdirs of $PWD

[ -d "${_Z_DATA:-$HOME/.z}" ] && {
echo "ERROR: z.sh's datafile (${_Z_DATA:-$HOME/.z}) is a directory."
}

_z() {

local datafile="${_Z_DATA:-$HOME/.z}"

# bail if we don't own ~/.z and $_Z_OWNER not set
[ -z "$_Z_OWNER" -a -f "$datafile" -a ! -O "$datafile" ] && return

# add entries
if [ "$1" = "--add" ]; then
shift

# $HOME isn't worth matching
[ "$*" = "$HOME" ] && return

# don't track excluded directory trees
local exclude
for exclude in "${_Z_EXCLUDE_DIRS[@]}"; do
case "$*" in "$exclude*") return;; esac
done

# maintain the data file
local tempfile="$datafile.$RANDOM"
while read line; do
# only count directories
[ -d "${line%%\|*}" ] && echo $line
done < "$datafile" | awk -v path="$*" -v now="$(date +%s)" -F"|" '
BEGIN {
rank[path] = 1
time[path] = now
}
$2 >= 1 {
# drop ranks below 1
if( $1 == path ) {
rank[$1] = $2 + 1
time[$1] = now
} else {
rank[$1] = $2
time[$1] = $3
}
count += $2
}
END {
if( count > 9000 ) {
# aging
for( x in rank ) print x "|" 0.99*rank[x] "|" time[x]
} else for( x in rank ) print x "|" rank[x] "|" time[x]
}
' 2>/dev/null >| "$tempfile"
# do our best to avoid clobbering the datafile in a race condition
if [ $? -ne 0 -a -f "$datafile" ]; then
env rm -f "$tempfile"
else
[ "$_Z_OWNER" ] && chown $_Z_OWNER:$(id -ng $_Z_OWNER) "$tempfile"
env mv -f "$tempfile" "$datafile" || env rm -f "$tempfile"
fi

# tab completion
elif [ "$1" = "--complete" -a -s "$datafile" ]; then
while read line; do
[ -d "${line%%\|*}" ] && echo $line
done < "$datafile" | awk -v q="$2" -F"|" '
BEGIN {
if( q == tolower(q) ) imatch = 1
q = substr(q, 3)
gsub(" ", ".*", q)
}
{
if( imatch ) {
if( tolower($1) ~ tolower(q) ) print $1
} else if( $1 ~ q ) print $1
}
' 2>/dev/null

else
# list/go
while [ "$1" ]; do case "$1" in
--) while [ "$1" ]; do shift; local fnd="$fnd${fnd:+ }$1";done;;
-*) local opt=${1:1}; while [ "$opt" ]; do case ${opt:0:1} in
c) local fnd="^$PWD $fnd";;
h) echo "${_Z_CMD:-z} [-chlrtx] args" >&2; return;;
x) sed -i -e "\:^${PWD}|.*:d" "$datafile";;
l) local list=1;;
r) local typ="rank";;
t) local typ="recent";;
esac; opt=${opt:1}; done;;
*) local fnd="$fnd${fnd:+ }$1";;
esac; local last=$1; [ "$#" -gt 0 ] && shift; done
[ "$fnd" -a "$fnd" != "^$PWD " ] || local list=1

# if we hit enter on a completion just go there
case "$last" in
# completions will always start with /
/*) [ -z "$list" -a -d "$last" ] && cd "$last" && return;;
esac

# no file yet
[ -f "$datafile" ] || return

local cd
cd="$(while read line; do
[ -d "${line%%\|*}" ] && echo $line
done < "$datafile" | awk -v t="$(date +%s)" -v list="$list" -v typ="$typ" -v q="$fnd" -F"|" '
function frecent(rank, time) {
# relate frequency and time
dx = t - time
if( dx < 3600 ) return rank * 4
if( dx < 86400 ) return rank * 2
if( dx < 604800 ) return rank / 2
return rank / 4
}
function output(files, out, common) {
# list or return the desired directory
if( list ) {
cmd = "sort -n >&2"
for( x in files ) {
if( files[x] ) printf "%-10s %s\n", files[x], x | cmd
}
if( common ) {
printf "%-10s %s\n", "common:", common > "/dev/stderr"
}
} else {
if( common ) out = common
print out
}
}
function common(matches) {
# find the common root of a list of matches, if it exists
for( x in matches ) {
if( matches[x] && (!short || length(x) < length(short)) ) {
short = x
}
}
if( short == "/" ) return
# use a copy to escape special characters, as we want to return
# the original. yeah, this escaping is awful.
clean_short = short
gsub(/\[\(\)\[\]\|\]/, "\\\\&", clean_short)
for( x in matches ) if( matches[x] && x !~ clean_short ) return
return short
}
BEGIN {
gsub(" ", ".*", q)
hi_rank = ihi_rank = -9999999999
}
{
if( typ == "rank" ) {
rank = $2
} else if( typ == "recent" ) {
rank = $3 - t
} else rank = frecent($2, $3)
if( $1 ~ q ) {
matches[$1] = rank
} else if( tolower($1) ~ tolower(q) ) imatches[$1] = rank
if( matches[$1] && matches[$1] > hi_rank ) {
best_match = $1
hi_rank = matches[$1]
} else if( imatches[$1] && imatches[$1] > ihi_rank ) {
ibest_match = $1
ihi_rank = imatches[$1]
}
}
END {
# prefer case sensitive
if( best_match ) {
output(matches, best_match, common(matches))
} else if( ibest_match ) {
output(imatches, ibest_match, common(imatches))
}
}
')"
[ $? -gt 0 ] && return
[ "$cd" ] && cd "$cd"
fi
}

alias ${_Z_CMD:-z}='_z 2>&1'

[ "$_Z_NO_RESOLVE_SYMLINKS" ] || _Z_RESOLVE_SYMLINKS="-P"

if type compctl >/dev/null 2>&1; then
# zsh
[ "$_Z_NO_PROMPT_COMMAND" ] || {
# populate directory list, avoid clobbering any other precmds.
if [ "$_Z_NO_RESOLVE_SYMLINKS" ]; then
_z_precmd() {
_z --add "${PWD:a}"
}
else
_z_precmd() {
_z --add "${PWD:A}"
}
fi
[[ -n "${precmd_functions[(r)_z_precmd]}" ]] || {
precmd_functions[$(($#precmd_functions+1))]=_z_precmd
}
}
_z_zsh_tab_completion() {
# tab completion
local compl
read -l compl
reply=(${(f)"$(_z --complete "$compl")"})
}
compctl -U -K _z_zsh_tab_completion _z
elif type complete >/dev/null 2>&1; then
# bash
# tab completion
complete -o filenames -C '_z --complete "$COMP_LINE"' ${_Z_CMD:-z}
[ "$_Z_NO_PROMPT_COMMAND" ] || {
# populate directory list. avoid clobbering other PROMPT_COMMANDs.
grep "_z --add" <<< "$PROMPT_COMMAND" >/dev/null || {
PROMPT_COMMAND="$PROMPT_COMMAND"$'\n''_z --add "$(command pwd '$_Z_RESOLVE_SYMLINKS' 2>/dev/null)" 2>/dev/null;'
}
}
fi 查看全部
使用linux的朋友,经常要在命令下面运行命令,并且频繁地在不同的目录切换, 不断的cd ..,cd ../../../../../../bin,或者cd ../../../../../../../../../, 或者cd ~/Download/bin/
 
浪费时间且效率低下。
 
推荐大家使用一个小脚本,可以快速切换目录,不需要经常cd了。
 
拷贝下面的代码,保存为z.sh,放在用户目录下,/home/xxxx, xxx为用户名, 然后 给予 777权限, chmod 777 z.sh
 
然后 修改 .bashrc 文件, vim ~/.bashrc
 
在文件的最后添加一句 source ~/z.sh
 
然后保存.bashrc
 
然后运行 source ~./bashrc , 然后就马上生效了。
 
然后你进入到某一个目录,比如 /home/user/build/data/bin/hello/, 运行 z
 
系统会纪录你的hello目录一次,
 
下一次在其他目录比如在/etc/apt/,如果要跳转到 /home/user/build/data/bin/hello/,
直接运行 z hello 就可以了。
# Copyright (c) 2009 rupa deadwyler under the WTFPL license

# maintains a jump-list of the directories you actually use
#
# INSTALL:
# * put something like this in your .bashrc/.zshrc:
# . /path/to/z.sh
# * cd around for a while to build up the db
# * PROFIT!!
# * optionally:
# set $_Z_CMD in .bashrc/.zshrc to change the command (default z).
# set $_Z_DATA in .bashrc/.zshrc to change the datafile (default ~/.z).
# set $_Z_NO_RESOLVE_SYMLINKS to prevent symlink resolution.
# set $_Z_NO_PROMPT_COMMAND if you're handling PROMPT_COMMAND yourself.
# set $_Z_EXCLUDE_DIRS to an array of directories to exclude.
# set $_Z_OWNER to your username if you want use z while sudo with $HOME kept
#
# USE:
# * z foo # cd to most frecent dir matching foo
# * z foo bar # cd to most frecent dir matching foo and bar
# * z -r foo # cd to highest ranked dir matching foo
# * z -t foo # cd to most recently accessed dir matching foo
# * z -l foo # list matches instead of cd
# * z -c foo # restrict matches to subdirs of $PWD

[ -d "${_Z_DATA:-$HOME/.z}" ] && {
echo "ERROR: z.sh's datafile (${_Z_DATA:-$HOME/.z}) is a directory."
}

_z() {

local datafile="${_Z_DATA:-$HOME/.z}"

# bail if we don't own ~/.z and $_Z_OWNER not set
[ -z "$_Z_OWNER" -a -f "$datafile" -a ! -O "$datafile" ] && return

# add entries
if [ "$1" = "--add" ]; then
shift

# $HOME isn't worth matching
[ "$*" = "$HOME" ] && return

# don't track excluded directory trees
local exclude
for exclude in "${_Z_EXCLUDE_DIRS[@]}"; do
case "$*" in "$exclude*") return;; esac
done

# maintain the data file
local tempfile="$datafile.$RANDOM"
while read line; do
# only count directories
[ -d "${line%%\|*}" ] && echo $line
done < "$datafile" | awk -v path="$*" -v now="$(date +%s)" -F"|" '
BEGIN {
rank[path] = 1
time[path] = now
}
$2 >= 1 {
# drop ranks below 1
if( $1 == path ) {
rank[$1] = $2 + 1
time[$1] = now
} else {
rank[$1] = $2
time[$1] = $3
}
count += $2
}
END {
if( count > 9000 ) {
# aging
for( x in rank ) print x "|" 0.99*rank[x] "|" time[x]
} else for( x in rank ) print x "|" rank[x] "|" time[x]
}
' 2>/dev/null >| "$tempfile"
# do our best to avoid clobbering the datafile in a race condition
if [ $? -ne 0 -a -f "$datafile" ]; then
env rm -f "$tempfile"
else
[ "$_Z_OWNER" ] && chown $_Z_OWNER:$(id -ng $_Z_OWNER) "$tempfile"
env mv -f "$tempfile" "$datafile" || env rm -f "$tempfile"
fi

# tab completion
elif [ "$1" = "--complete" -a -s "$datafile" ]; then
while read line; do
[ -d "${line%%\|*}" ] && echo $line
done < "$datafile" | awk -v q="$2" -F"|" '
BEGIN {
if( q == tolower(q) ) imatch = 1
q = substr(q, 3)
gsub(" ", ".*", q)
}
{
if( imatch ) {
if( tolower($1) ~ tolower(q) ) print $1
} else if( $1 ~ q ) print $1
}
' 2>/dev/null

else
# list/go
while [ "$1" ]; do case "$1" in
--) while [ "$1" ]; do shift; local fnd="$fnd${fnd:+ }$1";done;;
-*) local opt=${1:1}; while [ "$opt" ]; do case ${opt:0:1} in
c) local fnd="^$PWD $fnd";;
h) echo "${_Z_CMD:-z} [-chlrtx] args" >&2; return;;
x) sed -i -e "\:^${PWD}|.*:d" "$datafile";;
l) local list=1;;
r) local typ="rank";;
t) local typ="recent";;
esac; opt=${opt:1}; done;;
*) local fnd="$fnd${fnd:+ }$1";;
esac; local last=$1; [ "$#" -gt 0 ] && shift; done
[ "$fnd" -a "$fnd" != "^$PWD " ] || local list=1

# if we hit enter on a completion just go there
case "$last" in
# completions will always start with /
/*) [ -z "$list" -a -d "$last" ] && cd "$last" && return;;
esac

# no file yet
[ -f "$datafile" ] || return

local cd
cd="$(while read line; do
[ -d "${line%%\|*}" ] && echo $line
done < "$datafile" | awk -v t="$(date +%s)" -v list="$list" -v typ="$typ" -v q="$fnd" -F"|" '
function frecent(rank, time) {
# relate frequency and time
dx = t - time
if( dx < 3600 ) return rank * 4
if( dx < 86400 ) return rank * 2
if( dx < 604800 ) return rank / 2
return rank / 4
}
function output(files, out, common) {
# list or return the desired directory
if( list ) {
cmd = "sort -n >&2"
for( x in files ) {
if( files[x] ) printf "%-10s %s\n", files[x], x | cmd
}
if( common ) {
printf "%-10s %s\n", "common:", common > "/dev/stderr"
}
} else {
if( common ) out = common
print out
}
}
function common(matches) {
# find the common root of a list of matches, if it exists
for( x in matches ) {
if( matches[x] && (!short || length(x) < length(short)) ) {
short = x
}
}
if( short == "/" ) return
# use a copy to escape special characters, as we want to return
# the original. yeah, this escaping is awful.
clean_short = short
gsub(/\[\(\)\[\]\|\]/, "\\\\&", clean_short)
for( x in matches ) if( matches[x] && x !~ clean_short ) return
return short
}
BEGIN {
gsub(" ", ".*", q)
hi_rank = ihi_rank = -9999999999
}
{
if( typ == "rank" ) {
rank = $2
} else if( typ == "recent" ) {
rank = $3 - t
} else rank = frecent($2, $3)
if( $1 ~ q ) {
matches[$1] = rank
} else if( tolower($1) ~ tolower(q) ) imatches[$1] = rank
if( matches[$1] && matches[$1] > hi_rank ) {
best_match = $1
hi_rank = matches[$1]
} else if( imatches[$1] && imatches[$1] > ihi_rank ) {
ibest_match = $1
ihi_rank = imatches[$1]
}
}
END {
# prefer case sensitive
if( best_match ) {
output(matches, best_match, common(matches))
} else if( ibest_match ) {
output(imatches, ibest_match, common(imatches))
}
}
')"
[ $? -gt 0 ] && return
[ "$cd" ] && cd "$cd"
fi
}

alias ${_Z_CMD:-z}='_z 2>&1'

[ "$_Z_NO_RESOLVE_SYMLINKS" ] || _Z_RESOLVE_SYMLINKS="-P"

if type compctl >/dev/null 2>&1; then
# zsh
[ "$_Z_NO_PROMPT_COMMAND" ] || {
# populate directory list, avoid clobbering any other precmds.
if [ "$_Z_NO_RESOLVE_SYMLINKS" ]; then
_z_precmd() {
_z --add "${PWD:a}"
}
else
_z_precmd() {
_z --add "${PWD:A}"
}
fi
[[ -n "${precmd_functions[(r)_z_precmd]}" ]] || {
precmd_functions[$(($#precmd_functions+1))]=_z_precmd
}
}
_z_zsh_tab_completion() {
# tab completion
local compl
read -l compl
reply=(${(f)"$(_z --complete "$compl")"})
}
compctl -U -K _z_zsh_tab_completion _z
elif type complete >/dev/null 2>&1; then
# bash
# tab completion
complete -o filenames -C '_z --complete "$COMP_LINE"' ${_Z_CMD:-z}
[ "$_Z_NO_PROMPT_COMMAND" ] || {
# populate directory list. avoid clobbering other PROMPT_COMMANDs.
grep "_z --add" <<< "$PROMPT_COMMAND" >/dev/null || {
PROMPT_COMMAND="$PROMPT_COMMAND"$'\n''_z --add "$(command pwd '$_Z_RESOLVE_SYMLINKS' 2>/dev/null)" 2>/dev/null;'
}
}
fi

ubuntu12.04 安装 scrapy 爬虫模块 一系列问题与解决办法

回复

python李魔佛 发起了问题 • 1 人关注 • 0 个回复 • 1562 次浏览 • 2016-06-16 16:18 • 来自相关话题

Useful Link

默认分类李魔佛 发表了文章 • 0 个评论 • 976 次浏览 • 2016-06-15 13:43 • 来自相关话题

JSON Viewer online: jsonviewer.stack.hu

如果你要处理的是文件而不是字符串,你可以使用 json.dump() 和 json.load() 来编码和解码JSON数据

亲测: ubuntu安装scrapy 避免了很多的依赖关系
http://www.cnblogs.com/FreeAqu ... .html 查看全部
JSON Viewer online: jsonviewer.stack.hu

如果你要处理的是文件而不是字符串,你可以使用 json.dump() 和 json.load() 来编码和解码JSON数据

亲测: ubuntu安装scrapy 避免了很多的依赖关系
http://www.cnblogs.com/FreeAqu ... .html

ubnutu 14.04 windows VNC Viewer不能连接 到ubuntu

回复

网络李魔佛 回复了问题 • 1 人关注 • 1 个回复 • 1603 次浏览 • 2016-06-14 16:04 • 来自相关话题