
コマンドでファイルに保存されている MAC アドレスを使用したいと思いますaireplay-ng
。このコマンドをファイル内の各 MAC アドレスで 1 回実行したいと思います。
やり方を教えていただけますか?
答え1
xargs -a FILE -d '\n' -L 1 -r COMMAND
. のようなものを試して-a
、ファイルからコマンドライン引数を 1 行に 1 つの引数として読み取るように-d
指示し、入力行ごとにコマンドを 1 回呼び出し、入力がない場合は実行しないように指示することができます。xargs
-L1 -r
答え2
純粋な Bash では、while read
ループを使用する必要があります。
while IFS= read -r mac; do COMMAND "$mac" ; done < /path/to/file
ここで、$mac
は各行を保持します。 はIFS=
先頭と末尾の空白に対する保護手段です。
参照:次のような行は読まないでくださいfor
– ファイルからの読み取りを目的としたものではありません。