我目前有当前的脚本.
#!/bin/bash
# script.sh
for i in {0..99}; do
script-to-run.sh input/ output/ $i
done
Run Code Online (Sandbox Code Playgroud)
我希望使用xargs并行运行它.我试过了
script.sh | xargs -P8
Run Code Online (Sandbox Code Playgroud)
但这样做只在当时执行一次.也没有运气-n8.添加&在脚本for循环中执行的行的末尾将尝试一次运行脚本99次.如何在当时仅执行8次循环,最多100次.
我正在尝试编译一个程序来放置BeagleBone黑色,但是当我在我的主板上运行程序时我得到了这个错误:
/lib/libc.so.6: version `GLIBC_2.17' not found
Run Code Online (Sandbox Code Playgroud)
我确保我为ARM编译(arm-linux-gnueabi-gcc).
在我的桌面上,我有EGLIBC 2.17-9.我做错了什么?
我想使用通配符将所有.cpp和.cc文件包含在目标的依赖项中.
目前,我必须做以下事情:
all: main.cpp file1.cc file2.cc
g++ -O3 -o all main.cpp file1.cc file2.cc -I./include -L./lib
Run Code Online (Sandbox Code Playgroud)
以下似乎不起作用:
all: %.cpp %.cc
g++ -O3 -o $@ $^ -I./include -L./lib
Run Code Online (Sandbox Code Playgroud)
我得到错误make:***没有规则来制作目标'%.cc','all'需要.停止.
我目前无法在-32.768和32.768之间生成随机数.它不断给我相同的值,但十进制字段的变化很小.例如:27.xxx.
继承我的代码,任何帮助将不胜感激.
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
srand( time(NULL) );
double r = (68.556*rand()/RAND_MAX - 32.768);
cout << r << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我目前可以使用以下行从文件中提取图像
ffmpeg -i inputfile.avi -r 1 image-%d.jpeg
Run Code Online (Sandbox Code Playgroud)
但是,我想将此应用于文件夹中的所有文件,并将其放在输出文件夹中。
假设我有保存所有视频的当前文件夹:
输入视频/
----子文件夹1/
------视频.avi
----子文件夹2/
------视频.avi
我想要输出文件夹中的所有内容:
输出/
----子文件夹1/
- - - 视频/
----------*.jpeg
----子文件夹2/
- - - 视频/
----------*.jpeg
使用 bash 脚本最简单的方法是什么?(或其他更好的东西)
我要处理的文件的路径中包含括号。
path = "/dir/file (with parentheses).txt"
Run Code Online (Sandbox Code Playgroud)
我正在尝试用 Python 处理它们,如下所示:
subprocess.call("./process %s" % path, shell=True)
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误
/bin/sh: 1: Syntax error: "(" unexpected
Run Code Online (Sandbox Code Playgroud)
如何传递正确的字符串来处理正确的路径?
我目前有一个非常大的目录,包含超过9000个文件夹,每个文件夹中包含jpeg图像(平均每个文件夹40个).
我的程序获取图像的输入文件夹,并将该文件夹中图像的特征向量输出到文本文件:
./process_image images/ output/
Run Code Online (Sandbox Code Playgroud)
我还有一个脚本,其用法如下:
./script.sh dirlist.txt images/ output/ 1
Run Code Online (Sandbox Code Playgroud)
第一个输入dirlist.txt包含输入目录中的文件夹名称.第二个和第三个输入是输入和输出的基本目录.第四个参数是我想要访问的dirlist中的条目的索引
假设imageset1在dirlist.txt中的索引1处,上面的示例将调用:
./process_image images/imageset1/ output/imageset1/
Run Code Online (Sandbox Code Playgroud)
如果我按顺序执行此操作,则需要几天的时间来处理所有9000个文件夹.在这种情况下,最好的并行化方法是什么?我应该编写一个脚本,将9000个文件夹分成块并分别运行脚本,每个脚本运行一定范围的索引吗?另外,如果一个可执行文件在RAM中的范围从100 MB到1 GB,我该如何确定我可以运行多少个程序?我有32 GB的RAM.
parallel-processing bash image-processing scientific-computing