檔案處理,關於grep,awk,sed

2021-08-21 09:50:33 字數 1932 閱讀 2753

grep分析一行資訊,以整行為單位,用在正規表示式裡面。最重要的功能是進行字串資料的對比,然後將符合需求的字串列印出來

簡單語法:

grep [-acinv] [--color=auto] '查詢字串' filename

-a 將binary檔案以text檔案的方式查詢資料

-c 計算找到'查詢字串'的次數

-i 忽略大小寫的不同

-n 輸出行號

-v 反向選擇,顯示出沒有'查詢字串'內容的那一行

--color=auto 將找到的關鍵字部分加上顏色

例:將last中出現root的一行取出來

last | grep 'root'

一些高階引數 :grep [-a] [-b] [--color=auto] '查詢字串' filename

-a 後面可加數字,除了列出該行,後續n行也列出來

-b 後面可加數字,除了列出該行,前面n行也列出來

例,在關鍵字所在行的前兩行和後三行一起找出來

可以將資料進行替換、刪除、新增、選取特定行等

sed [-nefr] [動作]

動作說明:[n1[,n2]]function

n1,n2 不見得會存在,一般代表選擇進行動作的行數,例如,需要在10行到20行之間進行,則「10,20[動作行為]」

function引數:

a 新增

c 替換

d 刪除

i 插入

p 列印

s 替換

例,將/etc/passwd 的內容列出並列印行號,同時刪除2~5行

在第二行後加上「drink tea」

例,將第2~5行的內容替換為「no 2-5 number」

awk主要是處理每一行的字段內的資料,而預設的字段的分隔符為空格鍵或[tab]鍵

awk '條件型別1 條件型別2...' filename

last -n 5 僅取出前5行

取出第一項和第三項

awk內建變數  nf:每一行($0)擁有的字段總數  nr:目前awk所處理的是第幾行  fs:目前的分割字元,預設是空格鍵

關於檔案上傳的後台處理

關於檔案上傳的後台處理,原理上webwork struts2 與ser vlet 的處理是一致的,但 webwork 對檔案請求進行了攔截並解析後封裝到三個變數中,這樣就不能再在 action 中單獨獲得檔案請求,直接使用 spring 的工具方法無效 在 servlet 中可以,commonsmu...

關於工程標頭檔案的處理

不妨先看個例子吧 include include qdebug intmain int argc,char argv 如何編譯這個程式呢?我們知道,構建乙個c 程式 無非是編譯 包括編譯預處理 鏈結 這幾步。對這個程式來說呢,也就是,指定 標頭檔案路徑 qtdir include 庫檔案qtcore...

關於檔案的異常機制處理

1比較下面兩種,可以體會try.except的便利。遇到ioerror時可以跳過,並執行except ioerror 裡的內容。try fh open testfile11.txt r fh.write 這是乙個測試檔案,用於測試異常 except ioerror print error 沒有找到檔...