2016-08-07 7 views
0

ローカルマシンのすべてのバグボックスを削除したいだけです。各行のxargsを正しく使用するにはどうすればよいですか?

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

まず文字列(例えば「CentOSの/ 7」)ボックス名のようですので、私は、以下のコマンドを試してみた:ここで私が持っているボックスです

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

私は最初の文字列を取得して、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スイッチを使用してコマンドごとに1つの引数を指定してみてください:

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

ありがとうcyberz! '-n 1'はまさに私が必要としていたものでした。 – aeas44

関連する問題