awk之提取含有相同段行的第一行和最後一行

2021-06-18 02:19:24 字數 1927 閱讀 6795

2011-07-06  0:38:40 copy file 192.168.1.67 speed: 2.256 mbps

2011-07-06  1:30:46 copy file 192.168.1.67 speed: 2.000 mbps

2011-07-06  2:30:43 copy file 192.168.1.67 speed: 2.095 mbps

2011-07-07  0:33:43 copy file 192.168.1.67 speed: 2.146 mbps

2011-07-07  1:30:43 copy file 192.168.1.67 speed: 2.095 mbps

2011-07-07  2:30:43 copy file 192.168.1.67 speed: 2.146 mbps

2011-07-07  2:32:55 copy file 192.168.1.67 speed: 5.126 mbps

2011-07-08  0:31:01 copy file 192.168.1.67 speed: 1.508 mbps

2011-07-08  1:32:51 copy file 192.168.1.67 speed: 1.816 mbps

2011-07-09  0:32:44 copy file 192.168.1.67 speed: 2.119 mbps

2011-07-09  1:34:48 copy file 192.168.1.67 speed: 1.935 mbps

2011-07-09  2:30:57 copy file 192.168.1.67 speed: 1.618 mbps

2011-07-09  6:05:57 copy file 192.168.1.67 speed: 1.358 mbps

2011-07-09  8:30:57 copy file 192.168.1.67 speed: 1.618 mbps

2011-07-10  0:30:55 copy file 192.168.1.67 speed: 1.679 mbps

2011-07-10  1:31:00 copy file 192.168.1.67 speed: 1.534 mbps

可能看著有點眼花,就是說如何提取每天的第一行資料或最後一行資料,紅色就是第一行,藍色就是最後一行。

陣列解法:

# 只提取每天的第一行資料

awk '!a[

$1]+

+' file

awk '+

+a[$1]

==1' file

# 只提取每天的最後一行資料

awk '

end' file

awk '!a[

$1]++&

&iend

' file

非陣列解法:

# 只提取每天第一行資料

awk '$1!=x

' file

# 只提取每天最後一行資料

awk 'nr>1

' file <

(echo)

話說陣列的效率那確實在大檔案下夠慢的,別看非陣列的命令比較長點,效率那可是高的。

sed解法:

# 只提取每天第一行資料

sed -r ':a;

$!n;s/([

^]+)

(+[^

\n]+

)\n\1.*/

\1\2/

;ta;p;d' file

# 只提取每天最後一行資料

sed -r ':a;

$!n;s/([

^]+)

+[^\n]

+\n\1(.*

)/\1\2/

;ta;p;d' file

sed -r '$!n;/(

[^]+

).*\n\1/

!p;d' file

批量刪除TXT檔案第一行和最後一行

終於實現了把python用起來,記錄一下,環境為python3.7,看了一些網上的方法,但這總算是乙個不錯的開端。import os import os.path import codecs 這裡放著你要操作的資料夾名稱 path c users rym desktop 金融 後復權 後復權a股全 ...

vi中跳到檔案的第一行和最後一行

a 輸入 0 或者 1 回車 b 鍵盤按下 小寫 gg a 輸入 回車 b 鍵盤按下大寫 g c 鍵盤按 shift g 其實和第二種方法一樣 vim快速移動游標至行首和行尾 1 需要按行快速移動游標時,可以使用鍵盤上的編輯鍵home,快速將游標移動至當前行的行首。除此之外,也可以在命令模式中使用快...

GridView最後一行的更新

以前遇到在資料時,gridview的最後一行資料總是不能立即更新 今天又遇到,在網上找了很我,才知道是在重新繫結前連線沒有關閉 一直在用activerecord sqlhelper程式設計 發現,用sqlhelper的idatareader關閉了還是不行 因為,同時用,所以,在activerecor...