2016-08-07 5 views
0

로컬 컴퓨터의 모든 Vagrant 상자를 삭제하기 만하면됩니다.xargs를 올바르게 사용하려면 어떻게해야합니까?

$ vagrant box list | awk '{ print $1; }' | xargs vagrant box remove 

I : 다음 명령을

$ vagrant box list 
centos/7     (virtualbox, 1509.01) 
coreos-alpha    (virtualbox, 1010.1.0) 

첫 번째 문자열 (예 : "CentOS는가/7") 각 라인에서 박스 이름 것 ​​같다, 그래서 나는 시도했다 : 여기에 내가 가지고있는 상자입니다 그냥 명령의 인수로 문자열을 갖고 싶어서 xargs를 사용하여 첫 번째 문자열을 얻고 vagrant box remove에 전달하려고했습니다. 그러나, 나는 어떻게 든 다음과 같은 오류가 발생했습니다. 내가 뭘 놓치고 있니?

This command was not invoked properly. The help for this command is 
available below. 

Usage: vagrant box remove <name> 

Options: 

    -f, --force      Remove without confirmation. 
     --provider PROVIDER   The specific provider type for  the box to remove 
     --box-version VERSION  The specific version of the box  to remove 
     --all      Remove all available versions  of the box 
    -h, --help      Print this help 

감사합니다,

답변

3

나는이 기본 동작으로 xargs를이 하나의 명령에 더 많은 상자를 병합 생각합니다. 명령 당 하나의 인수를 사용하려면 -n 스위치를 사용하십시오.

$ vagrant box list | awk '{ print $1; }' | xargs -n 1 vagrant box remove 
+0

감사합니다. cyberz! '-n 1'은 내가 필요한 것입니다. – aeas44

관련 문제