UNIXで特定の月の印刷ジョブをキャンセルする方法

UNIXで特定の月の印刷ジョブをキャンセルする方法

UNIXで特定の月の印刷ジョブをキャンセルする方法(例:

sudo cancel -e printernames month 

処理する印刷キューのテキストです。

EpsonP_URSB-4125    admingou       priority 0  Aug  9 14:49 on EpsonP_URSB
        o24683889.out                         3897 bytes
EpsonP_URSB-4126    admingou       priority 0  Aug  9 14:51
        o24683917.out                         3897 bytes
EpsonP_URSB-4168    admingou       priority 0  Aug  9 16:40
        o24685868.out                         3873 bytes
EpsonP_URSB-4169    admingou       priority 0  Aug  9 16:49
        o24686042.out                         3873 bytes
EpsonP_URSB-4594    admingou       priority 0  Aug 15 14:02
        o24728095.out                         3873 bytes
EpsonP_URSB-4795    admingou       priority 0  Aug 16 15:32
        o24739409.out                         3942 bytes
EpsonP_URSB-6877    admingou       priority 0  Sep  2 08:11
        o24866057.out                         3909 bytes
EpsonP_URSB-9143    admingou       priority 0  Sep 19 08:36
        o25011121.out                         3873 bytes
EpsonP_URSB-9144    admingou       priority 0  Sep 19 08:40
        o25011183.out                         3899 bytes
EpsonP_URSB-9146    admingou       priority 0  Sep 19 08:44
        o25011237.out                         3922 bytes
EpsonP_URSB-9153    admingou       priority 0  Sep 19 08:57
        o25011532.out                         3873 bytes
EpsonP_URSB-9154    admingou       priority 0  Sep 19 08:58
        o25011538.out                         4118 bytes
EpsonP_URSB-9155    admingou       priority 0  Sep 19 08:58
        o25011542.out                         3893 bytes
EpsonP_URSB-9158    admingou       priority 0  Sep 19 09:19
        o25011789.out                         3967 bytes
EpsonP_URSB-9159    admingou       priority 0  Sep 19 09:22
        o25011836.out                         3967 bytes
EpsonP_URSB-9160    admingou       priority 0  Sep 19 09:23
        o25011907.out                         4060 bytes
EpsonP_URSB-9161    admingou       priority 0  Sep 19 09:24
        o25011930.out                         4015 bytes

答え1

プリンタキューの1行を考えてみてください。

EpsonP_URSB-4126    admingou       priority 0  Aug  9 14:51

5番目のフィールドを一致させ、最初のフィールドにジョブIDを表示したくない場合は、次の手順を実行します。

printer_queue_command | awk -v month=Aug '$5 == month { print $1 }' | xargs -r echo cancel

cancelプリンタキューを含めるようにコマンドを調整する必要があるかもしれません。-rあなたのバージョンがxargsそれをサポートしていない場合は削除してください。各ジョブに対して個別にコマンドを実行する-n1必要がある場合は、追加します。出力が満足な場合は削除してください。cancelecho

関連情報