小编Chr*_*our的帖子

使用正则表达式从用户代理检测iOS版本号

如果我有像这样的iOS用户代理

Mozilla/5.0(iPhone; U; CPU iPhone OS 4_0,如Mac OS X; en-us)AppleWebKit/532.9(KHTML,类似Gecko)版本/ 4.0.5 Mobile/8A293 Safari/6531.22.7

要么

Mozilla/5.0(iPhone; U; CPU iPhone OS 4_0,如Mac OS X; en-us)AppleWebKit/532.9(KHTML,如Gecko)Mobile/7D11

我如何使用正则表达式检测iOS版本,以便它返回例如

4

对于上述用户代理?

regex version ios

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

连续从子进程读取STDOUT和STDERR

我正在使用IO.popen启动子进程,但我只得到子进程退出时子进程运行所花费的时间(有时是5分钟或其他)所发生的一切结果.我真正需要的是能够看到的一切子进程写入stderrstdoutAS-和当它发生.

到目前为止,我找不到任何像这样的东西,但我确信它是可能的.

ruby linux

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

如何使用Railsinstaller将Ruby从1.9.3-p125升级到1.9.3-p327?

railsinstaller运行良好,但我无法弄清楚如何将Ruby升级到1.9.3-p327,同时保持其他正常工作.我是这项技术的新手,所以如果这个问题的答案非常明显,我会道歉.

Enivironment:Windows 7家庭高级版 - Service Pack 1 - 64位

ruby-on-rails

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

用unix中的另一个序列替换字符串模式

我想用TaskID_1从开始的序列替换String ,1001TaskID_1可能在我的输入文件中存在任意多行.同样,我需要TASKID_2用下一个序列值替换输入文件中出现的所有内容1002.

输入文件:

12345|45345|TaskID_1|dksj|kdjfdsjf|12
1245|425345|TaskID_1|dksj|kdjfdsjf|12
1234|25345|TaskID_2|dksj|kdjfdsjf|12
123425|65345|TaskID_2|dksj|kdjfdsjf|12
123425|15325|TaskID_1|dksj|kdjfdsjf|12
11345|55315|TaskID_2|dksj|kdjfdsjf|12
6345|15345|TaskID_3|dksj|kdjfdsjf|12
72345|25345|TaskID_4|dksj|kdjfdsjf|12
9345|411345|TaskID_3|dksj|kdjfdsjf|12
Run Code Online (Sandbox Code Playgroud)

输出文件应如下所示:

12345|45345|1001|dksj|kdjfdsjf|12
1245|425345|1001|dksj|kdjfdsjf|12
1234|25345|1002|dksj|kdjfdsjf|12
123425|65345|1002|dksj|kdjfdsjf|12
123425|15325|1001|dksj|kdjfdsjf|12
11345|55315|1002|dksj|kdjfdsjf|12
6345|15345|1003|dksj|kdjfdsjf|12
72345|25345|1004|dksj|kdjfdsjf|12
9345|411345|1003|dksj|kdjfdsjf|12
Run Code Online (Sandbox Code Playgroud)

unix awk

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

bash使用空替换连接多个文件(-e选项)

我有以下代码将多个文件连接在一起.它工作正常,但我想将空值替换为0,所以我使用-e"0".但它不起作用.有任何想法吗?

for k in `ls file?`
do
    if [ -a final.results ]
    then
            join -a1 -a2 -e "0" final.results $k  > tmp.res
            mv tmp.res final.results
    else
            cp $k final.results
    fi

done
Run Code Online (Sandbox Code Playgroud)

例:

file1: 
a 1 
b 2
file2:
a 1 
c 2
file3:
b 1 
d 2

Results:
a 1 0 1 0
b 2 1 0
c 2
d 2

expected:
a 1 1 0
b 2 0 1
c 0 2 0
d 0 0 2
Run Code Online (Sandbox Code Playgroud)

linux bash join

6
推荐指数
2
解决办法
4252
查看次数

用awk搜索多个条件字符串

我有一组看起来像这样的数据

col1    col2    col3    col4
ABC1    DEF1    GHI1    cond1
ABC2    DEF2    GHI2    cond1-cond2
ABC3    DEF3    GHI3    cond2/cond1
ABC4    DEF4    GHI4    cond2 cond1
ABC5    DEF5    GHI5    cond4/cond1
ABC6    DEF6    GHI6    cond1
ABC7    DEF7    GHI7    mcond1
ABC8    DEF8    GHI8    cond2
ABC9    DEF9    GHI9    cond1 at 50
ABCa    DEFa    GHIa    con cond1
ABCb    DEFb    GHIb    no. cond1
ABCc    DEFc    GHIc    cond1 something
ABCc    DEFc    GHIc    Mcond1
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写几个命令来根据"col4"分离数据,以获得:

  1. 包含字符串"cond1"的文件,除了"M"和"m"字母之外或之后的ANYTHING.我目前正在使用此命令(显然不排除M和m):

    awk 'BEGIN{IGNORECASE=1} $4 ~ /.cond1/ || $4 ~ /cond1./ ' /filepath.tab
    
    Run Code Online (Sandbox Code Playgroud)

    另请注意,第4行,第9行和第11行数据包含"cond1"和其他字符串之间的空格,我希望在文件中包含此内容.(命令中的"."是否包含空格?)

  2. 我写了一个命令,只在"col4"中获取一个包含"cond1"的文件

    awk 'BEGIN{IGNORECASE=1} …
    Run Code Online (Sandbox Code Playgroud)

unix linux awk sed

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

打印文件的前N个单词

有没有办法打印文件的前N个单词?我试过切,但它逐行读取文件.我想出的唯一解决方案是:

sed ':a;N;$!ba;s/\n/?/g' file | cut -d " " -f -20 | sed 's/?/\n/g'
Run Code Online (Sandbox Code Playgroud)

基本上,用文件中不存在的字符替换换行符,将空格作为分隔符应用"cut",然后恢复换行符.

有没有更好的解决方案?

unix linux scripting awk

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

sbt-assembly安装

我正在尝试使用sbt-assembly并且无法安装它.

从自述文件中逐字逐句地添加了项目/ plugins.sbt和依赖项:

addSbtPlugin("com.eed3si9n"%"sbt-assembly"%"0.8.7")

然后我添加了一个build.sbt文件,其中包含自述文件的内容:

import AssemblyKeys._ //将它放在文件的顶部

assemblySettings

启动sbt时出现此错误:

[error] /Users/me/git/stest/project/Build.scala:29:not found:value assemblySettings [error] .settings(assemblySettings:_*)[error] ^ [error]发现一个错误[错误]( compile:compile)编译失败

我回去尝试了另一个在另一个stackoverflow帖子中看到的替代:

SEQ(assemblySettings:_*)

同样的问题.有任何想法吗?(Scala 2.10.0)

scala sbt sbt-assembly

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

sed在特定列中插入字符

任何人都可以告诉我如何插入chr第一列中的每个字符.

档案

1 34566 34765    
2 45678 45789
3 34567 34799
X 67895 66900
Y 34567 34890
Run Code Online (Sandbox Code Playgroud)

归档

chr1 34566 34765
chr2 45678 45789
chr3 34567 34799
chrX 67895 66900
chrY 34567 34890
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何sed -i申请特定的专栏.我对语法不好,所以如果你能解释你的解释,我将不胜感激.另外,为此使用awk会更好吗?

awk sed

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

是否可以使用多处理在一个h5py文件上进行并行读取?

我试图加快从h5py数据集文件中读取块(将它们加载到RAM内存中)的过程.现在我尝试通过多处理库来做到这一点.

pool = mp.Pool(NUM_PROCESSES)
gen = pool.imap(loader, indices)
Run Code Online (Sandbox Code Playgroud)

加载器功能是这样的:

def loader(indices):
    with h5py.File("location", 'r') as dataset:
        x = dataset["name"][indices]
Run Code Online (Sandbox Code Playgroud)

这实际上有时有效(意味着预期的加载时间除以进程数并因此并行化).但是,大部分时间它没有,加载时间只是保持与按顺序加载数据时一样高.有什么办法可以解决这个问题吗?我知道h5py支持通过mpi4py进行并行读/写,但我只想知道这对于只读也是绝对必要的.

python parallel-processing h5py

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