小编She*_*rSt的帖子

Bash shell中$ {var},"$ var"和"$ {var}"之间有什么区别?

标题是什么:将变量封装在{},""或者"{}" 是什么意思?"我无法在网上找到任何关于此的解释 - 除了使用符号之外我还没有能够引用它们不产生任何东西.

这是一个例子:

declare -a groups

groups+=("CN=exampleexample,OU=exampleexample,OU=exampleexample,DC=example,DC=com")
groups+=("CN=example example,OU=example example,OU=example example,DC=example,DC=com")
Run Code Online (Sandbox Code Playgroud)

这个:

for group in "${groups[@]}"; do
    echo $group
done
Run Code Online (Sandbox Code Playgroud)

证明与此有很大不同:

for group in $groups; do
    echo $group
done
Run Code Online (Sandbox Code Playgroud)

还有这个:

for group in ${groups}; do
    echo $group
done
Run Code Online (Sandbox Code Playgroud)

只有第一个完成我想要的东西:遍历数组中的每个元素.我不是之间的差异是很清楚$groups,"$groups",${groups}"${groups}".如果有人能解释,我会很感激.

作为一个额外的问题 - 是否有人知道引用这些封装的可接受方式?

variables syntax bash shell

114
推荐指数
3
解决办法
7万
查看次数

Python - 是time.sleep(n)cpu密集型?

我一直在想着time.sleep(n)在python脚本中使用它来让它以不同的间隔执行作业.伪代码看起来像:

total_jobs = [...]

next_jobs_to_run = next_closest(total_jobs)
min_time_to_wait = closestTime(nextJobsToRun)

wait until min_time_to_wait
run them all 
get next jobs
Run Code Online (Sandbox Code Playgroud)

总而言之,程序会休眠,直到需要执行下一个作业.它运行工作,找到下一个要运行的工作,然后睡觉直到它需要运行下一个工作(继续无限).我打算在linux机器上运行它 - 使用cron作业是可能的.任何人都有意见吗?

python linux

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

编辑和保存文本文件始终显示"另存为"对话框

我一直想用Visual Studio 2013 Preview来编辑一些简单的Python脚本.我打开脚本,像往常一样编辑.但当我点击"ctrl-s"时,Visual Studio 2013 Preview会将我带到"另存为"对话框.

文件名未更改,文件路径正确,因此不会造成损坏.

如何才能解决这个问题,让我能够按照我的预期进行保存?

visual-studio-2012 visual-studio-2013

12
推荐指数
1
解决办法
3315
查看次数

Python - 将字符串打印到屏幕,在输出中包含\n

我有以下代码:

pattern = "something.*\n" #intended to be a regular expression

fileString = some/path/to/file

numMatches = len( re.findall(pattern, fileString, 0) )

print "Found ", numMatches, " matches to ", pattern, " in file."
Run Code Online (Sandbox Code Playgroud)

我希望用户能够看到模式中包含的'\n'.此时,模式中的'\n'会在屏幕上写入换行符.所以输出如下:

Found 10 matches to something.*
 in file.
Run Code Online (Sandbox Code Playgroud)

我希望它是:

Found 10 matches to something.*\n in file.
Run Code Online (Sandbox Code Playgroud)

是的,pattern.replace("\n","\n")确实有效.但我想要它打印所有形式的转义字符,包括\ t,\ e等.任何帮助表示赞赏.

python printing

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

包含ldapmodify的shell脚本 - 硬编码命令

我正在尝试在shell脚本中运行ldapmodify命令,但我不想指定包含命令的外部文件(-f标志).这只是为了方便 - 外部文件中的命令是动态的,因此每次shell脚本运行ldapmodify时避免编写新文件会很好.我希望脚本基本上在命令行中输入以下内容:

prompt/> ldapmodify -v -H LDAP://111.111.111.11 -D "CN=binding_user,DC=example,DC=com" -x -w password
> dn: CN=group_name, OU=Groups, DC=example, DC=com
> changetype: modify
> add: member
> member: CN=Smith\, John, OU=Users, DC=example, DC=com
> (user presses Ctrl-D)
Run Code Online (Sandbox Code Playgroud)

谁知道怎么做?

linux shell ldap active-directory

5
推荐指数
1
解决办法
6713
查看次数

Bash shell脚本 - 设置变量时出错

我是bash脚本的新手.我尝试了以下方法:

filename01 = ''

if [ $# -eq 0 ]
        then
                filename01 = 'newList01.txt'
        else
                filename01 = $1
fi
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

./smallScript02.sh: line 9: filename01: command not found
./smallScript02.sh: line 13: filename01: command not found
Run Code Online (Sandbox Code Playgroud)

我想我没有正确对待变量,但我不知道如何.此外,我试图使用grep从文本文件中提取第二个和第三个单词.该文件看起来像:

1966 Bart Starr QB Green Bay Packers 
1967 Johnny Unitas QB Baltimore Colts 
1968 Earl Morrall QB Baltimore Colts 
1969 Roman Gabriel QB Los Angeles Rams 
1970 John Brodie QB San Francisco 49ers 
1971 Alan Page DT Minnesota Vikings 
1972 Larry Brown RB Washington Redskins …
Run Code Online (Sandbox Code Playgroud)

variables bash shell

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

python - 比较列表和搜索列表中的术语的最快方法

现在我正在编写一些 python 代码,需要进行类似于以下内容的列表比较:

small_list = ["string"]*3
big_list = ["string"]*600000
big_list_excludes = ["string"]*600000

final_lines = []

for small in small_list:
    final_lines = [line for line in big_list if small in big_list]
    for exclude in big_list_excludes:
        final_lines = [line for line in final_lines if exclude not in final_lines]
Run Code Online (Sandbox Code Playgroud)

到目前为止,名单还不是很大。立即执行。然而,big_list 现在可以包含大约 60,000 个条目,“big_list_excludes”也可以。有谁知道如何缩短上述内容,使其更快?另外 - 有谁知道除了列表之外我还可以使用一种不同的数据类型来加快执行速度?我确实需要添加到这些列表中,但不需要更改顺序。

另外,我希望这些列表比较不区分大小写。以前我通过执行以下操作来完成此操作:

for small in small_list:
    for line in big_list:
        if small.upper() in line.upper():
            final_lines.append(line)
Run Code Online (Sandbox Code Playgroud)

我相当确定这会大大降低速度。如果有人知道一种更有效的方法,那也会很有帮助。

python string comparison tuples list

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

PHP - 跨越多行的字符串

我对php很新.我有一个非常长的字符串,我不想在其中添加换行符.在python中,我将通过执行以下操作来完成此操作:

new_string = ("string extending to edge of screen......................................."
    + "string extending to edge of screen..............................................."
    + "string extending to edge of screen..............................................."
    )
Run Code Online (Sandbox Code Playgroud)

有什么这样我可以用PHP做的吗?

php string

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

perl - 'keys'和'map'的组合有什么作用?

我对perl没有任何经验.我试图理解这句话:

sub get_insert_query {
    my ( $self, $event ) = @_;
    my $table = $self->get_event_table();
    my $sql   = qq[ INSERT INTO $table SET ];
    my @pairs = map {qq[ `$_` = ? ]} keys %$event;
    $sql .= join( ',', @pairs );
    return ( $sql, values %$event );
}
Run Code Online (Sandbox Code Playgroud)

$self->get_event_table()在这种情况下,返回字符串"pbs".$event我相信,它包含一堆任意的键值对.我很困惑

my @pairs = map {qq[ `$_` = ? ]} keys %$event;
Run Code Online (Sandbox Code Playgroud)

它有什么作用?

perl

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

libgdx - 如何处理与时间相关的事件?

我开始在libgdx中开发游戏,我想知道以下情况的最佳实践是什么.我正在尝试做两件事:将菜单(精灵)移动到位,然后将相机平移到播放器精灵.我完成这些事情的想法是在render()函数中有一个'action_stack'ArrayList.ArrayList将包含"Action"实例.每个Action实例都有一个step()功能,它将被覆盖.在render()函数中,我将遍历action_stack并触发每个元素的step()函数.因此,要完成将菜单移动到位,我将创建该类:

public class MenuAnim1 implements Action {

    private int targetX;
    private int targetY;
    private Sprite menu;

    public MenuAnim1() {
        //set initial sprite and position
    }

    public Step() (
        //move this.menu towards targetX and targetY
            //draw the sprite
        //if not at target position, do nothing
        //if at target position, remove this object from action_stack
    }
}
Run Code Online (Sandbox Code Playgroud)

...并将一个实例放入action_stack:

MenuAnim1 menuAnim1 = new MenuAnim1();
action_stack.add(menuAnim1);
Run Code Online (Sandbox Code Playgroud)

对不起,如果我的Java不好,我不是很熟悉它.无论如何,我的问题是:这是不是很好的做法?人们通常做什么?有没有更好的方法来做我上面描述的内容?

android libgdx

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

highcharts - 如何在热图图例上执行自定义标签

这是我的图表的jsfiddle:

http://jsfiddle.net/b637gdxv/4/

    chart: {
        type: 'heatmap',
        marginTop: 26,
        marginLeft: 5,
        marginRight: 5,

        width: 200, 
        height: 250,

        borderWidth: 3,
        borderColor: 'grey',
        borderRadius: 5,
        plotBackgroundColor: '#FFFFFF',
        plotShadow: true
    },
Run Code Online (Sandbox Code Playgroud)

目前,我无法弄清楚如何向此图表添加自定义标签.我不想要'0-100'标签,而是我想在左边有'Free'字样,在右边有'Full'字样.我需要做些什么才能做到这一点?

javascript jquery highcharts

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

perl - map not working,"不能使用string ...作为HASH ref"

我有以下代码:

use strict;
use warnings;
use List::Util qw(max);
use DateTime;
use JSON;

use DBI;

...

my @names = @{ select_users_to_update('last_name') };

sub select_users_to_update {
    my ( $self, $column ) = @_;

    my $sql = qq{
        SELECT DISTINCT `$column`
        FROM `db_name`
        WHERE `first_name` IS NULL
    };
    my $rows = $self->{dbh}->selectall_arrayref( $sql, { Slice => {} } );
    my @fields = map { $_->{$column} } @$rows;

    return \@fields;
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Can't use string ("last_name") as a HASH ref while "strict refs" in …
Run Code Online (Sandbox Code Playgroud)

perl hash map

0
推荐指数
1
解决办法
342
查看次数

从结果中分组并排除最小值和最大值

我有类似以下的数据:

Date        ID          Amount
10-Jun-14   978500302   163005350
17-Jun-14   978500302   159947117
24-Jun-14   978500302   159142342
1-Jul-14    978500302   159623201
8-Jul-14    978500302   143066033
14-Jul-14   978500302   145852027
15-Jul-14   978500302   148595751
Run Code Online (Sandbox Code Playgroud)

在oracle中有没有办法可以得到这些数据的平均值,它排除了最高值和最低值?我可以通过做一个GROUP BY ID,然后获得整体平均值AVG(Amount).但是如何在排除min和max的同时做到这一点呢?

sql database oracle select

0
推荐指数
1
解决办法
7721
查看次数