Wc
如何跳過輸出的第一行?
這是問題所在,我想計算一下我在 hpc 中擁有的工作數量,但這不是現成的功能之一。所以我做了這個簡單的腳本
squeue -u user_name | wc -l
where
squeue
列印所有作業,如下所示> squeue -u user_name JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 8840441 theory cteq fxm PD 0:00 1 (Resources) 8840442 theory cteq fxm PD 0:00 1 (Priority) 8840443 theory cteq fxm PD 0:00 1 (Priority) 8840444 theory cteq fxm PD 0:00 1 (Priority)
這將被輸送到
wc
併計算行數。但是,第一行不是作業的條目。計數時如何指示wc
跳過第一行?還是我應該只取它的輸出wc
和減一?提前致謝!
有很多方法可以做到這一點,我首先想到的是:
squeue -u user_name | tail -n +2 | wc -l
從手冊頁
tail
:-n, --lines=[+]NUM output the last NUM lines, instead of the last 10; or use -n +NUM to output starting with line NUM
所以你 -n +2 應該跳過第一行。
你也可以使用tail的排序形式:
tail +2
squeue
您可以使用- 選項抑制標題行-h
。這將消除刪除第一行的需要。-h, --noheader Do not print a header on the output.