九 Linux shell 程式設計

2021-09-12 12:46:39 字數 1776 閱讀 1288

1、正規表示式

正規表示式用來在檔案中匹配符合條件的字串,正則式包含匹配

例子:hello world

grep "wo" 這一行中包含wo這個字串就可以找到這一行

萬用字元用來匹配符合條件的檔名,萬用字元是完全匹配。

hello world

ls wo 這一行中只能包括wo這個字串才能找到,即這行只有2個字元

grep -n "^12"  test.txt           查詢以12開頭的行

grep -n "1.\2" test.txt 查詢以1開頭2結尾中間是任意字元的行

grep -n "12$" test.txt 查詢以12結尾的行

使用時對照上面的表即可

2、字元擷取

cut [選項] 檔名   

-f 列號: 提取第幾列

-d 分隔符: 用指定分隔符分隔列

cut -f 1 student.txt 提取第一列

cut -d ":" -f 1,3 /etc/passwd 根據冒號提取1,3列

cut命令提取的檔案必須用製表符分隔,不然會擷取失敗

printf '輸出型別輸出格式' 輸出內容

%ns 輸出字串,n是數字指代輸出幾個字元

%ni 輸出整數,n指代輸出幾個數字

%m.nf 輸出浮點數。m和n是數字。指代輸出的位數和其中小數的輸出位數 8.2f 表示一共輸出8位,小數輸出2位

printf %s 1 2 3 4 5 6 輸出123456

printf %s %s %s 1 2 3 4 5 6 輸出 %s %s 1 2 3 4 5 6

printf 『%s %s %s\n』 1 2 3 4 5 6

輸出: 1 2 3

4 5 6

awk '條件1 條件2...' 檔名

awk '' student.txt 輸出第一列和第二列

df -h | awk 'print $1 $5' 提取df -h 輸出內容的第一列和第五列

sed 是一種輕量級流編輯器。sed主要是用來將資料進行選區、替換、刪除、新增的命令。

sed [選項] '[動作]' 檔名

選項:-n 只把經過sed命令處理過的行輸出到螢幕

-e 允許對輸入資料應用多條sed命令編輯器

-i 用sed的修改結果直接修改讀取資料的檔案,而不是由螢幕輸出

動作:a\: 追加,在當前行末尾新增,新增多行時,除最後一行,每一行末尾要加「\」

c\: 行替換 用c後面的字串替換源資料行,替換多行時,除最後一行,每一行末尾要加「\」

i\: 插入 在當前行前插入一行或多行資料,多行時,除最後一行,每一行末尾要加「\」

d\: 刪除,刪除指定行

p\: 列印 輸出指定行

s\: 字串替換

sed '2p' student.txt

sed -n '2p' student.txt

sed '1,2d' student.txt

sed '1i hello' student.txt

sed 's/舊字串/新字串/g' 檔名

sed '2s/n/y/g' student.txt 把第二行中的n換成y

linux shell 程式設計

bin bash comments your commands go here 首行中的符號 告訴系統其後路徑所指定的程式bash即是解釋此指令碼檔案的shell程式。除第一行外,以 開頭的行就是注釋行,直到此行的結束。如果一行未完成,可以在行尾加上 這個符號表明下一行與此行會合併為同一行。有環境變...

linux shell 程式設計

1 程式設計入門 shell的簡介。從程式設計師的角度來看,shell本身是一種用c語言編寫的程式,從使用者的角度來看,shell是使用者與linux作業系統溝通的橋梁。使用者既可以輸入命令執行,又可以利用 shell指令碼程式設計,完成更加複雜的操作。在linux gui日益完善的今天,在系統管理...

Linux Shell 程式設計

檔案描述 shell 代號 dev stdin 標準輸入,一般指的是鍵盤輸入 dev stdout 標準輸出,一般指終端顯示器 dev stderr 標準錯誤,一般指終端顯示器 l輸出重定向 l輸入重定向 l追加重定向 l錯誤重定向 2 l輸出和錯誤同時重定向 應用例子 1.將 ls的結果輸出到檔案...