/home/script の下には 187 個の bash スクリプトがあり、すべて次の行が含まれます。
kill -PIPE $PID
以下のように、すべてのスクリプトでこの行の前に次の単語を追加します。
[[ $KILL_STATUS = YES ]] && kill -PIPE $PID
その理由は、各スクリプトを編集せずにsedなどのLinuxコマンドを使用して一度に実行するためです。
答え1
$ for i in /home/scrript/*; do sed -i 's/kill -PIPE $PID/[[ $KILL_STATUS = YES ]] \&\& kill -PIPE $PID/' "$i"; done
説明する
for i in /home/scrript/*; do FOO; done
:のすべてのファイルに対してこの操作を繰り返します/home/scrript
。シェル構成によっては、ドットファイルをスキップできます。sed -i 's/kill -PIPE $PID/[[ $KILL_STATUS = YES ]] \&\& kill -PIPE $PID/' "$i"
:各ファイル("$i"
)に対して "in-place"(sed -i
)を。kill -PIPE $PID
に置き換えます。それ以外の場合は特別な意味があるため、[[ $KILL_STATUS = YES ]] \&\& kill -PIPE $PID
エスケープする必要があります。&