gnu-parallel

단일 연결을 통해 wget과 병렬로 파일 다운로드
gnu-parallel

단일 연결을 통해 wget과 병렬로 파일 다운로드

이 질문은 후속 질문입니다.wget을 사용하여 여러 파일을 동시에 다운로드하는 방법은 무엇입니까? 이 질문과 마찬가지로 많은 파일을 다운로드해야 합니다. 위의 답변에 따르면 권장됩니다 cat url-list | parallel -j8 wget {}. 그러나 이를 위해서는 각 URL에 대한 TCP 연결 및 https/TLS 협상이 필요하며 이는 클라이언트와 서버 측 모두에서 낭비입니다. 모든 URL이 동일한 서버에 있는 경우 GET /object.txt단일 TCP/HTTP 연결을 통해 여러 쿼리를 수행...

Admin

아카이브 이름을 폴더 이름으로 사용하여 다중 스레드 방식으로 여러 7z 아카이브를 자체 폴더로 추출하는 방법은 무엇입니까?
gnu-parallel

아카이브 이름을 폴더 이름으로 사용하여 다중 스레드 방식으로 여러 7z 아카이브를 자체 폴더로 추출하는 방법은 무엇입니까?

아카이브 이름을 폴더 이름으로 사용하여 모든 7z 아카이브를 자체 폴더로 추출하려면 다음 명령을 실행합니다. 7z x "*.7z" -o* a.7z예를 들어, 두 개의 파일 과 가 있는 경우 및 b.7z폴더가 a생성되며, 여기에는 각각 및의 내용이 포함됩니다(디렉토리 구조 유지).ba.7zb.7z 때로는 7z 아카이브가 너무 많아서 여러 코어를 사용하여 이를 추출하고 싶을 때가 있습니다. 나는 이것을 읽었다답변통과아르툠 S.타슈키노프: 7z 압축 해제는 단일 스레드이므로 압축 형식의 제한 사항입니다...

Admin

Bash 코드의 병렬 버전 작성 문제
gnu-parallel

Bash 코드의 병렬 버전 작성 문제

샘플 Bash 스크립트를 병렬화하려고 하며 및 &와 같은 명령을 시도했습니다 wait. 병렬화하는 효율적인 방법이 무엇인지 알려주세요. 내 현재 코드는 reg2 변수의 제한된 항목으로 잘 작동합니다. 하지만 reg2 변수에는 수백만 개의 항목이 있습니다. 그래서 저는 가장 바깥쪽 루프가 평행해지기를 원합니다. 코드를 병렬화한 후에는 동일한 출력(예: 0,1,2,:,3,4,:,5,6)을 얻습니다. #!/bin/bash # array1=$1 # array2=($2) # reg2=($3) arr...

Admin

GNU Parallel을 사용하여 명령 인수를 열 값으로 그룹화할 수 있습니까?
gnu-parallel

GNU Parallel을 사용하여 명령 인수를 열 값으로 그룹화할 수 있습니까?

다음의 데이터를 고려하세요.GNU 병렬 매뉴얼예 --group-by: cat > table.csv <<"EOF" UserID, Consumption 123, 1 123, 2 12-3, 1 221, 3 221, 1 2/21, 5 EOF 레코드를 하나의 열로 그룹화하고 그룹에 있는 다른 열의 모든 값을 명령줄 인수로 쓰는 방법이 있습니까? 이 명령은 그룹화되지 않지만 내가 원하는 출력 구조를 제공합니다. cat table.csv | parallel --col...

Admin

GNU Parallel의 각 입력 매개변수를 작업 디렉토리로 사용
gnu-parallel

GNU Parallel의 각 입력 매개변수를 작업 디렉토리로 사용

GNU Parallel을 사용하여 각 입력 인수에 대한 명령을 실행해 보았습니다. 해당 인수를 명령의 작업 디렉터리로 사용했습니다(명령줄에 추가하지 않고). 기본적으로 내가 해야 할 일은 다음과 같습니다. /foo -> "cd /foo; mycmd" /bar -> "cd /bar; mycmd" /baz -> "cd /baz; mycmd" Parallel은 대체 문자열을 --workdir지원하여 {}내가 원하는 작업을 수행하는 것 같습니다. --workdir mydir --wd ...

Admin

GNU를 사용한 병렬 라인 기반 출력, 임시 파일 필요 없음
gnu-parallel

GNU를 사용한 병렬 라인 기반 출력, 임시 파일 필요 없음

GNU 병렬 처리의 기본 출력 모드는 다음과 같습니다 --group. 각 작업의 출력은 임시 파일에 기록되고 parallel작업이 완료된 후에만 출력으로 전달됩니다. /tmp이 기본 출력 모드는 공간 보다 큰 데이터와 함께 사용할 때 parallel lz4 -dc ::: /var/lib/apt/lists/*lz4 | wc 속도가 느리고 충돌이 발생합니다. parallel: Error: Output is incomplete. Cannot append to buffer file in /tmp. 이 모...

Admin

sg_format 300개 이상의 병렬 드라이버와 함께 사용
gnu-parallel

sg_format 300개 이상의 병렬 드라이버와 함께 사용

나는 얼마 전에 소프트웨어 병렬성에 대해 배웠습니다.https://forums.servethehome.com/index.php?threads/mdadm-create-raid-0-quick-format.41161/#post-389210 이제 내 목표는 예전과 거의 같지만, 다른 방식으로 해보고 싶다. 내가 가지고 있는 설정은 다음과 같습니다. 단일 포트 SAS2 HBA를 갖춘 Dell SFF 데스크탑 총 14개의 NetApp SAS3 디스크 쉘프 Disk Shelf당 24개의 960GB 12G SAS ...

Admin

RHEL7은 파일을 동일한 부분으로 병렬로 분할합니다.
gnu-parallel

RHEL7은 파일을 동일한 부분으로 병렬로 분할합니다.

파일 분할 속도를 높이기 위해 splitGNU를 사용하여 Linux 명령을 실행할 수 있습니까 ?parallel 압축된 파일을 읽고 라인 수 또는 파일 크기에 따라 동일한 부분으로 분할합니다. 나는 다음과 같이 노력하고 있습니다 : zcat file.gz | parallel --pipe --block 2000M 'gzip > {#}.gz' ...

Admin

GNU 병렬: 일부 파일을 사용할 수 있을 때 실행하고 나머지는 기다립니다.
gnu-parallel

GNU 병렬: 일부 파일을 사용할 수 있을 때 실행하고 나머지는 기다립니다.

무작위 간격으로 미리 정의된 수의 파일을 생성하는 다음과 같은 프로세스가 있습니다. #!/bin/bash for i in {1..10} do sleep $(shuf -i 20-60 -n 1) echo $i > file_$i.txt done 다음과 같이 GNU Parallel을 사용하여 각 파일에서 독립적으로 실행되는 또 다른 프로세스가 있습니다. parallel wc -l ::: file_{1..10}.txt 예상한 대로 병렬 처리는 현재 사용 가능한 파일에서 실행됩니다. 나머지 파...

Admin

GNU를 사용한 병렬 연산
gnu-parallel

GNU를 사용한 병렬 연산

2의 거듭제곱을 통해 일부 스크립트를 병렬로 실행하고 싶습니다. 내가 원하는 두 가지 기능의 목록을 GNU Parallel에 제공하면 잘 작동합니다. %>parallel echo {} ::: 32, 64, 128, 256, 512, 1024 32 64 128 256 512 1024 %> 또한 문제 없이 GNU Parallel에 다양한 값을 제공할 수 있습니다. %>parallel echo {} ::: {5..10} 5 6 7 8 9 10 %> 그러나 GNU Parallel 명...

Admin

xargs를 GNU 병렬로 파이프
gnu-parallel

xargs를 GNU 병렬로 파이프

특정 디렉터리의 절대 경로를 가져와 압축을 위해 GNU로 파이프하는 다음 스크립트가 있습니다 parallel. 신호 13 오류가 계속 발생하지만 이유를 모르겠습니다. find $directory -maxdepth 1 | \ grep -v "^${directory}$" | \ xargs realpath | \ parallel -j 4 zip -r ${new_directory}/{/.}.zip {} 오류는 입니다 terminated with signal 13; aborting. 때로는 오류가 발생하지 ...

Admin

병렬 처리를 사용하여 배열에 추가할 수 없습니다.
gnu-parallel

병렬 처리를 사용하여 배열에 추가할 수 없습니다.

parallel문제 없이 for 루프를 사용할 때 배열에 추가할 수 없습니다 . 병렬 예: append() { arr+=("$1"); } export -f append parallel -j 0 append ::: {1..4} declare -p arr 산출: -bash: declare: arr: not found 루프의 경우: for i in {1..4}; do arr+=("$i"); done declare -p arr 산출: declare -a arr=([0]="1" [1]="2" [2]=...

Admin

평행 평행
gnu-parallel

평행 평행

병렬로 실행하려고 하는데 이것이 이상적인 솔루션이 될 수 있는 상황에 도달한 것 같습니다. 일련의 작업을 연속적으로 실행하고 싶습니다(A-1, A-2, A-3 등). 이는 --jobs 1(또는 sem?)을 사용하여 실행됩니다. 이 컬렉션을 병렬로 실행하고 싶습니다. A, B, C 등으로 부르세요. 이는 기본 작업(코어) 수로 실행됩니다. 그룹 "A"의 작업 수는 그룹 C의 작업 수와 다를 수 있습니다. 시각적으로 가로 축은 시간이고 세로 축은 작업 세트입니다. A-1--->A-2--->A-...

Admin

GNU Parallel을 사용하여 대규모 블록 목록 처리
gnu-parallel

GNU Parallel을 사용하여 대규모 블록 목록 처리

이는 진행 중인 프로젝트이며 목록 처리 속도를 높이기 위해 중요한 업데이트가 이루어졌습니다. 여기있어홈페이지관심있는 분들을 위해! 목록 내용을 원시 호스트로 변환 lists.json하고 해당 호스트를 해당 작업 방법 및 호스트 형식과 일치하는 목록에 배치하여 정의된 목록을 처리합니다. 상단의 상수는 build_lists.bash각 변수의 정의를 보여줍니다. 속도를 높이거나 버그를 수정하는 방법에 대한 제안을 환영합니다! 또한 아래에서 프로젝트를 실행하는 것이 좋습니다.이 도커 환경. 여기에 제공된 모...

Admin

수동으로 또는 파이프를 통해 매개변수를 GNU Parallel에 전달
gnu-parallel

수동으로 또는 파이프를 통해 매개변수를 GNU Parallel에 전달

준비를 위한 샘플 파일 구조는 다음과 같습니다. test/1 test/2 test/3 나는 이것을하고 싶다 : find -P -O3 "test/" -type f | parallel --use-cpus-instead-of-cores -j+0 --tmpdir "test/" --files ./test.bash 다음과 같은 경우 다른 수동 매개변수를 전달합니다 test.bash. #!/usr/bin/env bash main() { echo "yay $1 $2!" } main "$1" "$2...

Admin