xargs + pv = 엉망인 터미널

xargs + pv = 엉망인 터미널

장기 실행 작업에 대한 약간의 진행률 표시기를 원하면 다음을 사용할 수 있습니다.파이프뷰어:

ssh pc2 cat some.file | pv -nC reading | gzip --fast | pv zipping > some.file.gz

이것은 일이 얼마나 빨리 진행되고 있는지 알려주는 재미있는 작은 디스플레이를 제공합니다.

reading:  470MiB 0:00:18 [26.7MiB/s] [   <=>                              ]
zipping: 99.6MiB 0:00:18 [5.61MiB/s] [          <=>                       ]

하지만 여러 가지 작업을 병렬로 수행하면 출력이 모두 엉망이 됩니다.

cat file.list | xargs -P 4 --replace={} sh -c "ssh pc2 cat {} | pv -nC r.{} | ..."

이 일을 할 수 있는 방법이 있나요?

man pvpv의 출력을 라는 유틸리티에 회로적으로 연결하는 방법이 있다고 하는데 dialog저는 그게 익숙하지 않습니다.

답변1

새 터미널이나 대화 상자에서 각 프로그램 인스턴스를 실행할 수 있습니다. 터미널용

cat file.list | xargs -P 4 --replace={} gnome-terminal -x sh -c "ssh pc2 cat {} | pv -nC r.{} | ..."  

대화 상자에서 보려면 zenity

 cat file.list | xargs -P 4 --replace={} sh -c "ssh pc2 cat {} | pv -nC r.{} | zenity --text-info | ..."

답변2

GNU Parallel이 설치되어 있는 경우:

cat file.list | parallel --tmux -P 4 'ssh pc2 cat {} | pv -nC r.{} | ...'

그러면 에서 작업이 시작됩니다 tmux. 그런 다음 다음에 연결할 수 있습니다 tmux.

tmux attach

GNU Parallel이 시스템에 패키지되어 있지 않은 경우 10초 안에 설치해야 합니다.

(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash

자세히 알아보려면: 빠른 소개를 보려면 소개 비디오를 시청하세요. https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

튜토리얼을 살펴보세요(manparallel_tutorial). 당신의 명령줄은 당신을 좋아할 것입니다.

관련 정보