여러 파일을 다운로드하여 해당 이름의 합을 md5에 저장하고 싶습니다.
cat list | parallel -j4 "md5=$(wget -O - {} | tee tmpfile_{#} | md5sum | cut -d ' ' -f 1); mv tmpfile_{#} $md5"
하지만 문제는 bash가 병렬 교체를 수행하기 전에 wget 항목을 실행하는 것 같다는 것입니다 {}
. 그래서 wget은 다음에서 시작하려고 합니다.http://{}
그렇다면 하위 명령이 실행되기 전에 병렬은 어떻게 해당 변수를 대체합니까?
답변1
나중에 몇 가지 시행착오를 겪었습니다.
cat list | parallel -j4 'md5=$(wget -O - {} | tee tmpfile_{#} | md5sum); mv tmpfile_{#} ${md5%% *}'
bash가 먼저 무언가를 교체하는 것을 허용하지 않으 "
려면 교체만 수행하세요.'