小编kch*_*kch的帖子

如何HTML编码/转义字符串?有内置的吗?

我有一个不受信任的字符串,我想在HTML页面中显示为文本.我需要以HTML实体的形式逃避字符' <'和' &'.越少越好.

我正在使用UTF8,并且不需要其他实体用于重音字母.

Ruby或Rails中是否有内置函数,或者我应该自己编写?

html ruby encode escaping ruby-on-rails

93
推荐指数
7
解决办法
14万
查看次数

git-svn:什么等同于`svn switch --relocate`?

我通过git-svn镜像的svn存储库改变了URL.

在vanilla svn你会做的svn switch --relocate old_url_base new_url_base.

我怎么能用git-svn做到这一点?

只需更改配置文件中的svn url就会失败.

git version-control git-svn

86
推荐指数
3
解决办法
2万
查看次数

如何在当前shell中执行命令的输出?

我很清楚source(又名.)实用程序,它将从文件中获取内容并在当前shell中执行它们.

现在,我正在将一些文本转换为shell命令,然后运行它们,如下所示:

$ ls | sed ... | sh
Run Code Online (Sandbox Code Playgroud)

ls只是一个随机的例子,原始文本可以是任何东西.sed也是一个转换文本的例子.有趣的是sh.我管道我得到的任何东西sh,它运行它.

我的问题是,这意味着启动一个新的子shell.我宁愿让命令在我当前的shell中运行.就像我能够做的那样source some-file,如果我在文本文件中有命令.

我不想创建临时文件因为感觉很脏.

或者,我想以与当前shell完全相同的特性启动我的子shell.

更新

好吧,使用反引号的解决方案当然有效,但我经常需要在检查和更改输出时这样做,所以我更喜欢是否有办法将结果输入到最后.

悲伤的更新

啊,/dev/stdin事情看起来很漂亮,但是,在一个更复杂的情况下,它没有用.

所以,我有这个:

find . -type f -iname '*.doc' | ack -v '\.doc$' | perl -pe 's/^((.*)\.doc)$/git mv -f $1 $2.doc/i' | source /dev/stdin
Run Code Online (Sandbox Code Playgroud)

这确保所有.doc文件的扩展名都是小写的.

顺便说一下,可以处理xargs,但除此之外.

find . -type f -iname '*.doc' | ack -v '\.doc$' | perl -pe 's/^((.*)\.doc)$/$1 $2.doc/i' | xargs -L1 git …
Run Code Online (Sandbox Code Playgroud)

unix bash shell pipe

77
推荐指数
6
解决办法
7万
查看次数

Ruby 1.9:如何才能正确地更新和缩写多字节字符串?

因此,matz决定保留upcasedowncase限制/[A-Z]/i在ruby 1.9.1中.

ActiveSupport::Multibyte长期以来在ruby 1.8.x中经历了很棒的i18n案例String#mb_chars.

但是,当在ruby 1.9.1下尝试时,它似乎不起作用.这是我写的一个简单的测试脚本,以及我得到的输出:

$ cat test.rb
# encoding: UTF-8

puts("@ #{RUBY_VERSION} " + (__ENCODING__ rescue $KCODE).to_s)
sd, su = "Iñtërnâtiônàlizætiøn", "IÑTËRNÂTIÔNÀLIZÆTIØN"
def ps(u, d, k); puts "%-30s:  %24s / %-24s" % [k, u, d] end
ps sd.upcase, su.downcase, "Plain ruby"

require 'rubygems'; require 'active_support'
ps sd.upcase, su.downcase, "With active_support"
ps sd.mb_chars.upcase.to_s, su.mb_chars.downcase.to_s, "With active_support mb_chars"

$ ruby -KU test.rb
@ 1.8.7 UTF8
Plain ruby                    :  IñTëRNâTIôNàLIZæTIøN / iÑtËrnÂtiÔnÀlizÆtiØn …
Run Code Online (Sandbox Code Playgroud)

ruby unicode utf-8 internationalization multibyte

55
推荐指数
3
解决办法
2万
查看次数

如何获得符号链接的目标?

我有一个字符串,其中包含现有符号链接的文件系统路径.我想获得此链接指向的路径.

基本上我想要通过这些hackery得到同样的东西:

s = "path/to/existing/symlink"
`ls -ld #{s}`.scan(/-> (.+)/).flatten.last
Run Code Online (Sandbox Code Playgroud)

但是我想在没有炮轰的情况下这样做.

ruby symlink

48
推荐指数
3
解决办法
2万
查看次数

我可以在git中的单个命令中推送到多个存储库吗?

基本上我想做点什么 git push mybranch to repo1, repo2, repo3

现在我只是多次打字,如果我急着推进,我只是将它们全部发送到后台 git push repo1 & git push repo2 &

我只是想知道我是否原生git支持我想要做的事情,或者是否有一个聪明的脚本,或者可能是一种编辑本地repo配置文件的方式来说应该将分支推送到多个遥控器.

git version-control

41
推荐指数
2
解决办法
6818
查看次数

我在做什么?

是否有命令来识别当前shell的名称/类型,shell二进制文件的路径以及shell的版本?

我不需要所有这些,但我能得到的越多越好.

我想要的东西,有相同的感觉uname,pwd,whoami.只是一个简单输出的普通实用程序.(到目前为止还没有出现:/)

回覆 ps

$ ps -o comm $$
COMM
-bash
Run Code Online (Sandbox Code Playgroud)

为什么-bash不像其他一切那样完整的路径呢?与那里的破折号有什么关系?

unix shell

41
推荐指数
4
解决办法
3万
查看次数

如何使用Passenger在Apache下设置Sinatra应用程序?

假设我有最简单的单文件Sinatra应用程序.他们主页上的你好世界会做.我想在Apache下使用Phusion Passenger,AKA mod_rails运行它.

  • 我需要什么目录结构?
  • 我有什么要放在vhost conf文件上?
  • 我知道我需要一个机架文件.它包含了什么?为什么?

ruby apache rack passenger sinatra

26
推荐指数
1
解决办法
1万
查看次数

什么尝试和真正的算法建议相关的文章在那里?

很常见的情况,我打赌.你有一个博客或新闻网站,你有很多文章或blags或你称之为的任何东西,你想在每个网站的底部建议其他似乎相关的东西.

让我们假设每个项目的元数据非常少.也就是说,没有标签,类别.视为一大块文本,包括标题和作者姓名.

你如何找到可能相关的文件?

我对实际的算法很感兴趣,而不是现成的解决方案,虽然我可以看看在ruby或python中实现的东西,或者依赖于mysql或pgsql.

编辑:目前的答案还不错,但我想看到更多.对于一两件事,可能有一些非常简单的示例代码.

text information-retrieval machine-learning document-classification

23
推荐指数
2
解决办法
4300
查看次数

如何解雇并忘记子进程?

我有一个漫长的运行过程,我需要它来启动另一个进程(这将运行一段时间).我只需要启动它,然后完全忘记它.

我设法通过从编程Ruby书中搜索一些代码来做我需要的东西,但我想找到最佳/正确的方法,并了解正在发生的事情.这是我最初得到的:

exec("whatever --take-very-long") if fork.nil?
Process.detach($$)
Run Code Online (Sandbox Code Playgroud)


那么,这是方式,还是我应该怎么做呢?

检查下面的答案后,我最终得到了这段代码,这似乎更有意义:

(pid = fork) ? Process.detach(pid) : exec("foo")
Run Code Online (Sandbox Code Playgroud)


我很欣赏有关如何fork运作的一些解释.[已经得到了]

分离$$对吗?我不知道为什么会这样,我真的很想更好地掌握这种情况.

ruby unix fork process

22
推荐指数
2
解决办法
1万
查看次数