yes - 指定文字列を表示しつづける


yes コマンドは指定文字列を出力しつづけるプログラムです。 デフォルトでは y を出力しつづけます。

% yes test

とすれば test を出力しつづけします。

例えば、

% alias rm 'rm -i' 

としている場合、

% yes | rm *

のようにして、自動的に y と答えさせたりします。 この場合は

% \rm *

のようにして エイリアスアウト したほうがよいと 思いますが。

head と併用すれば

% yes ./a.out | head -3
./a.out
./a.out
./a.out

のように数を限定できます。

これと paste コマンドを応用して、./a.out [ファイル名] を複数のファイルに対して一度に実行するということもできるでしょう。

% find [dir] > file.txt
% yes ./a.out | head -`cat file.txt | wc -l` > command.txt
% paste -d" " command.txt file.txt > batch.sh

のようにすれば

./a.out ファイル1
./a.out ファイル2
./a.out ファイル3

のような内容 batch.sh ができるので、後は % sh batch.sh として実行できます。


xrea