shell程式設計(二) 檔案操作

2021-07-10 08:09:07 字數 2185 閱讀 9517

dd、comm、grep、egrep、cut、head、tail、sed、awk

dd if=/dev/zero of=junk.data bs=1m count=1,

if是輸入,of是輸出,bs是指定檔案塊大小,count是檔案塊個數。

使用head和tail命令!

head filename,列印檔案前10行

head –n 4 filename,列印檔案前4行

head –n -5 filename,列印檔案除了最後5行之外的所有行

seq 100 | head –n -5,seq 生成了100行的序列,輸出從1到95。

tail filename,列印後10行

tail –n 5 filename,列印後5行

seq 100 | tail –n +6,列印6到100(注意:tail避免列印前n行用+(n+1))。

paste:按列合併檔案

dmesg:檢視核心緩衝區

統計檔案行數、單詞數、字元數:

cat file | wc -l,統計檔案行數

cat file | wc -w,單詞數

cat file | wc –c,字元數

用cut按列切分檔案:

cut –f 2,3 filename,列印檔案的2,3列

統計檔案中的詞頻:

替換之後如何儲存檔案?

法一:

先sed 『s/text/replace/』 file > newfile;再mv newfile file

法二:

sed –i 『s/text/replace/』 file即可

替換所有的:

sed –i 『s/text/replace/g』 file

界定符:

上面的命令中/作為界定符,使用:或|都可以,如果要匹配的字元包含了界定符,就要使用\進行轉定義。

awk通常包含三個部分:begin語句塊、end語句塊和模式匹配塊。三部分是否出現隨意。

指令碼包含在單引號或雙引號內。

先執行begin,然後迴圈執行模式匹配塊,結束後執行end塊。

列印檔案第5列:

cat file | awk 『』

列印檔案4到6行:

法一:

seq 100 | head -n 6 | tail -n +4

法二:

seq 100 | awk 「nr==4,nr==6」

通過字串匹配列印行:

逆序列印行:

法一:

tac,即cat反過來

法二:(awk陣列儲存)

seq 10 | awk 『 end}』

匹配url:

其中\w相當於[0-9a-za-z]

列印匹配串前後n行:(grep)

grep –a 3 「pattern」 filename,列印匹配行及其後3行

grep –b 3 「pattern」 filename,列印匹配行及其前3行

grep –c 2 「pattern」 filename,列印匹配行及其前後各2行

Shell學習(12)檔案操作

檔案操作 取得目錄內容 ls getconf arg max 判斷檔案是否存在 建立檔案 建立一般檔案 建立檔案 1 使用轉向輸出 text.txt 2 配合空命令 test.xtx 可以增加script移植性,有時候使用 檔案 會造成語法錯誤 3 建立隱藏檔案 test.txt 4 使用touch...

1 檔案測試 2 檔案操作

1 檔案測試函式 2 檔案操作 新建檔案 fopen filename,w 以 寫 的方式開啟乙個不存在的檔案,就會新建該檔案 檔案刪除 unlink 檔案複製 copy filename,aaa bb.txt 盡量使用 和相對路徑,因為linux只認 也沒有磁碟分割槽,而windows 和 都認 ...

Shell指令碼學習筆記 十 檔案操作

檔案操作 取得目錄內容 lsgetconf arg max 判斷檔案是否存在 建立檔案 建立一般檔案 建立檔案 1 使用轉向輸出 text.txt 2 配合空命令 test.xtx 可以增加script移植性,有時候使用 檔案 會造成語法錯誤 3 建立隱藏檔案 test.txt 4 使用touch命...