小编Tod*_*obs的帖子

如何跨多行分割很长的案例模式?

我怎么能在下面的bash代码中拆分long valueX字符串?

case "$1" in
    value1|value2|value3|...........more values..................| valueN)
        some_processing "$@"
        ;;
    ...
esac
Run Code Online (Sandbox Code Playgroud)

我正在寻找分成不同的行.Mb喜欢:

VAL+=value1
VAL+=value2
....
Run Code Online (Sandbox Code Playgroud)

提前致谢

string bash split switch-statement

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

为什么"git branch"在新的存储库中保持沉默?

当您创建新存储库并运行时git branch,它将以静默方式退出.例如:

$ mkdir /tmp/foo; cd /tmp/foo; git init
Initialized empty Git repository in /tmp/foo/.git/

$ git branch
Run Code Online (Sandbox Code Playgroud)

为什么命令不提供任何输出,或显示主分支?

git git-branch

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

如何在另一个进程正在运行时生成一个新进程?

我正在编写一个将执行 2 个任务的 shell 脚本。一项任务将启动一个必须持续运行的程序。在同一个脚本中,将启动将启动另一个程序的第二个任务。但是当第一个连续运行时,我如何在同一个脚本中启动另一个?

提前致谢。

linux shell spawning

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

如何使用find递归转换JPG图像?

基本上我想做的是递归搜索工作目录,然后使用给定的路径来调整图像大小.例如,找到所有*.jpg文件,将其大小调整为300x300并重命名为whatever.jpg.

我是否应该采取一些行动$(find | grep *.jpg)来获取路径?当我这样做时,输出是没有用引号括起来的目录,这意味着我必须在它有用之前插入它们,对吧?

directory bash recursion find

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

Sed有多个标准

我有3个sed命令:

sed -n 's/.*domain=\([^&]*\).*sdk_ver=\([^&]*\).*/\1 \2/p' inputfile > outputfile
sed -n 's/.*sdk_version=\([^&]*\).*domain=\([^&]*\).*/\2 \1/p'  inputfile > outputfile
sed -n 's/.*domain=\([^&]*\).*sdk_version=\([^&]*\).*/\1 \2/p' inputfile > outputfile
Run Code Online (Sandbox Code Playgroud)

每个命令都有一个标准.我只想将3个命令放入1个命令中,以获得单个输出文件,其中包含所有结果作为三个条件的并集.

unix shell criteria sed conditional-statements

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

如何在数组中存储目录列表?

为什么这不列出任何东西?谢谢

FOLDER=()

ls /tmp/backup/ | while read DIR
do
    FOLDER+=("$DIR")
done

echo ${FOLDER[1]}
Run Code Online (Sandbox Code Playgroud)

arrays directory bash

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

如何使用非常大的Ruby哈希减少内存使用量?

我有一个包含一百万个条目的文本文件.每个条目基本上是几个平均20个单词的句子.

为了完成一些任务,我将所有单词加载到哈希中.每个单词都是一个键,值将是它在文本中出现的次数.

我的问题是,在将它们加载到哈希中时,我的内存不足.我在一台只有1 GB RAM的机器上.有没有办法减少内存使用?或者我应该使用Ruby散列以外的东西.

ruby memory hash

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

如何在 Ruby 中找到字符串的第一个非重复字母?

我有一个字符串"teststring"。我想在 Ruby 中找到第一个非重复出现的字符。

我有这个 Python 代码:

def first_non_repeat_character(teststring)
    unique=[]
    repeated=[]
    for character in teststring:
        if character in unique:
            unique.remove(character)
            repeated.append(character)
        else:
            if not character in repeated:
                unique.append(character)
    if len(unique):
        return unique[0]
    else: 
        return false
Run Code Online (Sandbox Code Playgroud)

ruby string

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

如何从YAML文件中读取多个文档?

我想制作一个只包含哈希的YAML文件.但是,我不能迭代它.当我尝试加载YAML文件时:

YAML.load_file('yamlFile.yml') 
Run Code Online (Sandbox Code Playgroud)

它只返回文件中的第一个哈希值.这是我想要创建的示例文件:

---
:reach_hypo: true
:liquid: true
---
:reach_hypo: true
:liquid: false
---
:reach_hypo: true
:liquid: true 
Run Code Online (Sandbox Code Playgroud)

如果我加载上面的文件,我得到:

{reach_hypo: true, liquid: true}
Run Code Online (Sandbox Code Playgroud)

我发现的唯一解决方法是将所有哈希值添加到数组中,然后将其写入YAML文件.是否有更好的方法,例如YAML方法,迭代YAML文件?

ruby file-io yaml

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

为什么Ruby setter方法返回String而不是Symbol作为最后一个表达式计算?

方法的意外返回值:期望符号

我有以下Ticket类:

class Ticket
  VALID_STATES = %i[open closed invalid wontfix]
  attr_reader :status
  def status= new_state
    new_state = new_state.to_sym
    @status = new_state
  end
end
Run Code Online (Sandbox Code Playgroud)

传递String而不是Symbol时,即使getter方法返回了正确的值,setter方法也会意外返回String.例如:

t = Ticket.new
t.status = 'closed'
#=> "closed"

t.status
#=> :closed
Run Code Online (Sandbox Code Playgroud)

看起来正确的值被存储为符号,但是我不知道为什么"closed"当最后一个表达式返回时,该方法在REPL处返回:closed.我的期望是所讨论的表达应该解决@status = :closed,因此应该返回一个符号.

任何人都可以解释为什么我得到一个字符串而不是一个符号作为setter方法的返回值?

警告和自行车脱落预防

  1. 我知道这个例子可以使用@status = new_state.to_sym而不是分配回new_state,但是有一些中间代码被删除以创建这个最小的例子.我不想过多地更改代码,因为这样就无法显示我的真实代码在做什么.无论如何,它似乎对这个特定问题没有任何影响; 我已经尝试过两种方式.
  2. 我尝试使用Ruby 2.3.1,2.4.0-preview2和JRuby 9.1.4.0,因此它不是特定于版本的.
  3. 在Pry和IRB中,各种调试尝试都与REPL特有的其他问题相悖,我将作为一个单独的问题打开.这里的要点是尝试使用其他抽象方法进行调试,例如def foo=(str); @foo = str.to_sym; end在兔子洞的下方.
  4. 键盘和椅子之间存在问题极有可能,但问题的焦点实际上是为什么返回值不是预期的类.

ruby string setter symbols casting

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