gnu-parallel

GNU 병렬: 빈 문자열 인수를 사용하여 내보낸 bash 함수를 호출하는 방법은 무엇입니까?
gnu-parallel

GNU 병렬: 빈 문자열 인수를 사용하여 내보낸 bash 함수를 호출하는 방법은 무엇입니까?

상상하다: $ process(){ echo "[$1] [$2] [$3]" ; } ; export -f process $ process "x" "" "a.txt" [x] [] [a.txt] 여기서는 두 번째 매개변수가 빈 문자열(예상)임을 알 수 있습니다. $ find -name "*.txt" -print | SHELL=$(type -p bash) parallel process "x" "" [x] [./a.txt] [] [x] [./b.txt] [] [x] [./c.txt] [] 여기서 우리는 두...

Admin

GNU를 사용하여 매우 긴 줄을 병렬로 처리하기
gnu-parallel

GNU를 사용하여 매우 긴 줄을 병렬로 처리하기

데이터베이스에 다시 로드하기 전에 편집(일부 찾기/바꾸기)해야 하는 매우 큰 SQL 덤프 파일(30GB)이 있습니다. 파일 크기가 클 뿐만 아니라 매우 긴 줄도 포함되어 있습니다. 처음 40개 행과 마지막 12개 행을 제외하고 다른 모든 행의 길이는 약 1MB입니다. 다음 줄은 모두 INSERTO INTO 명령이며 모두 비슷해 보입니다. cat bigdumpfile.sql | cut -c-100 INSERT INTO `table1` VALUES (951068,1407592,0.0267,0.0509,0...

Admin

gnu 병렬: 프로그램의 출력을 제어하는 ​​방법은 무엇입니까?
gnu-parallel

gnu 병렬: 프로그램의 출력을 제어하는 ​​방법은 무엇입니까?

빠르고 쉽습니다. 이 명령은 유효합니다 locate -i mymovieormysong|parallel mplayer 노래(또는 영화)가 재생되지만 키보드로 mplayer를 제어할 수 없습니다. (가능한 경우) 어떻게 하나요? 실제로 키보드를 사용하여 앞으로 또는 뒤로 이동하면 다음과 같은 결과가 나타납니다. ^[[C^[[C^[[C^[[C^[[C^[[C^[[C^[[D^[[D^[[D 편집1: -u(그룹 해제) 옵션을 사용하면 출력이 나타나지만 mplayer를 제어하기 위해 키보드를 누르면 여전히 [C...

Admin

단일 연결을 통해 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