我有两个文件夹:src/
和build/
。
在src/assets/
中,我在build/
中有一些同名的文件。
我想在src/assets/
中使用并行程序对这些文件执行某些操作。
我的单一流程版本:
cd ../src/assets
find -type f -printf '%P\n' |
while read -r filename
do
# no exist == very old
if [[ "$filename" -nt ../../build/"$filename" ]]; then
echo "$filename" # do something about $filename
fi
done
如何将其转换为并行版本?
答案 0 :(得分:0)
这就是我的意思:
array
这会创建一堆形式的命令:
>>> np.zeros(15)
array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0.])
然后将它们发送到并行执行几个核心。
(需要GNU cd ../src/assets
find -type f -printf '%p\n' |
sed 's,.*,[[ "&" -nt ../../build/"&" ]] \&\& echo "&",' |
parallel
)
答案 1 :(得分:0)
一个稍微简单的解决方案:
cd ../src/assets || exit 1
find . ../../build -type f -printf '%f\n' | sort | uniq -d | parallel echo