shell程式設計 awk sed 命令介紹

2022-05-03 11:21:26 字數 2768 閱讀 4081

sed 主要是用來將資料進行選取、替換、刪除、新増的命令。我們看看命令的語法:

[root@localhost ~] # sed [選項] '

[動作]

'檔名

選項

-n:一般 sed 命令會把所有資料都輸出到螢幕上。如果加入此選項,則只會把經過 sed 命令處理的行輸出到螢幕上;

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

-r:在 sed 中支援擴充套件正規表示式;

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

a \:追加,在當前行後新增一行或多行。當新增多行時,除最後一行外,每行末尾需要用「\」代表資料未完結;

c \:行替換,用c後面的字串替換原資料行。當替換多行時,除最後一行外,每行末尾需用「\」代表資料未完結;

i \:插入,在當前行前插入一行或多行。當插入多行時,除最後一行外,每行末尾需要用「\」代表資料未完結;

d:刪除,刪除指定的行;

p:列印,輸出指定的行;

s:字串替換,用乙個字串替換另乙個字串。格式為「行範圍s/舊字串/新字串/g」(和vim中的替換格式類似);

list.txt檔案為

sed 所做的修改並不會直接改變檔案的內容(如果是用管道符接收的命令的輸出,則連檔案都沒有),而是把修改結果只顯示到螢幕上,除非使用"-i"選項才會直接修改檔案。

1、sed -n '2p' list.txt 輸出指定行,這裡是輸出list.txt檔案第二行

如果不加 -n 指令,會把檔案的內容都輸出一遍,指定行重複輸出

2、sed '2,4d' list.txt         刪除指定行,這裡是刪除【2,4】行,輸出刪除後的結果,但是並不會馬上改動檔案,

只有加上 -i才會修改檔案內容 sed -i '2,4d' list.txt

3、sed '2a hello' list.txt                                   在指定行 後 面插入內容

4、sed '2i hello' list.txt          在指定行前面增加內容

5、sed 's/111/----/' list.txt       將list.txt檔案的111都替換成----

將指定行的某個內容替換

注釋掉指定行,^代表行首

awk語言的最基本功能是在檔案或字串中基於指定規則瀏覽和抽取資訊,awk抽取資訊後,才能進行其他文字操作,完整的awk指令碼通常用來格式化文字檔案中的資訊

awk '

條件1 條件 2 …

' 檔名

在awk程式設計中,因為命令語句非常長,所以在輸入格式時需要注意以下內容:

list.txt檔案

1、awk '' list.txt        輸出list檔案第1列和第2列的內容   列之間用空格區分

2、awk 'begin     ' list.txt              在執行命令之前輸出提示語句

3、 awk 'end     ' list.txt                                            在命令執行完畢之後輸出提示

4、awk '/666/' list.txt                    列印包含666 的行

5、awk '' list.txt                           輸出第二列》=333對應行的第三列

也可以剔除一些特殊的行在進行條件篩選

awk有很多內建的功能,比如陣列、函式等,後面帶補充

參考部落格

Linux shell程式設計之awk sed用法詳解

awk的用法 1.awk的使用 呼叫方式 1.命令列方式 2.將所有awk命令插入乙個檔案,並使awk程式可執行,然後使awk命令直譯器作為指令碼的首行,以便通過鍵入指令碼名稱來呼叫它。3.將所有的awk命令插入乙個單獨檔案,然後呼叫。選項說明 f 域符號 預設為空格 f 指明awk指令碼 2.模式...

Shell程式設計 read命令

1.read 讀取輸入的值 語法 read 選項 值 p 提示語句 n 字元個數 t 等待時間,秒 s 隱藏輸入 2.例子 等待3秒輸入,提示語句please input your name bin bash read t 3 p please input your name name echo n...

shell程式設計基礎命令

一 read命令 從鍵盤讀取資料,賦值給變數 ex1 read name ex2 read p 請輸入密碼 n 6 t 5 password echo e npassword is password 注1 當輸入的片語個數大於需要的引數個數,則多出的片語將被作為整體為最後乙個引數接收 引數說明 p ...