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
必要がある場合は、追加します。出力が満足な場合は削除してください。cancel
echo