#!/bin/bash
while IFS="," read ip port; do
ruby test.rb "http://$ip:$port/"&
ruby test.rb "https://$ip:$port/";
done <test1.txt
이 멀티 스레딩을 어떻게 수행합니까? 더 많은 줄을 나누면 동일한 ip & port로 동일한 명령 만 더 많이 실행하면 다음 ip & port로 실행하거나 파일이 192.168.1.2,8089처럼 보이기를 원합니다.
tr ',' ':' <test1.txt | xargs -P 4 -I XX ruby test.rb "http://XX/"
test1.txt
파일에 다음과 같은 줄이 포함되어 있다고 가정합니다.
127.0.0.1,80
127.0.0.1,8080
다음으로 tr
변경됩니다
127.0.0.1:80
127.0.0.1:8080
그리고는 xargs
한 번에 한 줄씩 XX
주어진 명령 문자열을 줄의 내용으로 바꾸고 명령을 실행합니다. 으로 -P 4
우리 실행 최대 4 개 개의 동시 프로세스를 얻을.
파일의 각 줄에 후행 쉼표가있는 경우 먼저 제거하십시오.
sed 's/,$//' test1.txt | tr ',' ':' | xargs ...as above...
또는
sed -e 's/,$//' -e 'y/,/:/' test1.txt | xargs ...as above...
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다