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 '在awk程式設計中,因為命令語句非常長,所以在輸入格式時需要注意以下內容:條件1 條件 2 …
' 檔名
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 ...