내가 관심 있는 디렉터리에는 약 200개의 하위 디렉터리가 있습니다.
$ ls backup
201302
201607
201608
201609
201610
201701
201702
201705
201801
201802
xyz.7z
각 디렉토리에 대해 7z 아카이브를 생성 하고 싶습니다 xyz
.
cd $HOME/backup/
7z a "storage/nas/TBL/compressed_backups/$xyz.7z" "$xyz" -mmt=4
그래서 결국 나는 이 파일들을 다음 위치에 넣을 것입니다 storage/nas/TBL/compressed_backups
:
201302.7z
201607.7z
201608.7z
201609.7z
201610.7z
201701.7z
201702.7z
201705.7z
201801.7z
201802.7z
parallel
또한 .process 5개의 디렉터리를 한 번에 사용하고 싶습니다 . (나는 이 목적을 위한 충분한 컴퓨팅 능력을 가지고 있습니다)
parallel -j5 ::: 7z a "storage/nas/TBL/compressed_backups/$xyz.7z" "$xyz" -mmt=4
이 모든 것을 어떻게 마무리할 수 있나요?
답변1
다음 방법을 사용하십시오.
ls backup | parallel -j5 7z a -mmt=4 "storage/nas/TBL/compressed_backups/{}.7z" {}
{}
- 입력 라인. 대체 문자열은 입력 소스에서 읽은 전체 줄로 대체됩니다.