純粋なFTPサーバーのクォータ確認プロセスを自動化したいと思います。
私はこれを行うためにドキュメントを読んだ。pure-quotacheck -d /path2/home -u user
私が考える最も簡単な方法は、pure-pw list(ユーザーとホームページのパスを表示)を上記のコマンドと組み合わせることですが、それらを組み合わせる方法がわかりません。
これまで、私は次のことを思い出しました。
for s r in $(pure-pw list) | {print $1 $2}; do pure-quotacheck -u $s -d $r; done
しかし、私は理解しています
予期しないマーカー 'r'の近くに構文エラーがあります。
$ pure-pw list
def /home/def/./
また、pure-pwリストの出力から「/./」を削除する必要があります。
答え1
1行を変数に分割するには、次のように使用できますread
(シェルでテキストを扱うときなど、多くの注意がありますが):
pure-pw list | while read s r; do pure-quotacheck -u "$s" -d "$r"; done
$r
これにより、呼び出す前に処理を実行できますpure-quotacheck
。例えば削除提案したように処理された出力を介してこれを実行することも/./
できます。pure-pw
pure-pw list | sed 'sX/./$XX' | while read s r; do pure-quotacheck -u "$s" -d "$r"; done
バラより文字列に「http://」がある場合、sedはどのように置き換えますか?そこに使用法の説明がありますsed
。