我有這個問題,我需要在同一個文件的同一時間打印2行,問題是它必須發生在第一列的行更改之後,例如:同時打印兩行
文件:abcd.csv
a,1
a,2
a,3
a,4
a,5
a,6
b,1
b,2
b,3
b,4
b,5
b,6
c,1
c,2
c,3
c,4
c,5
c,6
代碼:
awk '{ if ($1 == "a") print $1,$2 } ' FS="," abcd.csv
它打印:
a 1
a 2
a 3
a 4
a 5
a 6
,但我需要兩條線路在同一時間,因爲我需要管這兩行額外的呼叫:
1輸出(那麼他們將被髮送):
a 1
a 2
第2個輸出(然後,他們將被髮送):
a 2
a 3
第三輸出(那麼他們將被髮送):
a 3
a 4
4個輸出(那麼他們將被髮送):
a 4
a 5
5個輸出(那麼他們將被髮送):
a 5
a 6
等在第一列中的其他字母。
我會很感激有這方面的提示,
這是否必須在'awk'? – FuriousGeorge
你需要加倍每個轉換線?當第二個字段在兩行「a 1'' a 2'' a 2'' a 3'之間不發生變化時會發生什麼? –
所以你想每次調用你的awk時,你有兩行,第一行,第1,2行,然後是3,4 ...也就是說,如果你調用100次,你解析文件100次...我建議你grep/awk ...來獲得你需要的所有行,然後處理這個較小的集合,並循環。 – Kent