1.Sed 工作流程
- 首先
sed
把當(dāng)前正在處理的行保存在一個(gè)臨時(shí)緩存區(qū)中(也稱為模式空間),然后處理臨時(shí)緩沖區(qū)中的
行,完成后把該行發(fā)送到屏幕上。 -
sed
把每一行都存在臨時(shí)緩沖區(qū)中,對(duì)這個(gè)副本進(jìn)行編輯,所以不會(huì)修改原文件。 -
Sed
主要用來自動(dòng)編輯一個(gè)或多個(gè)文件;簡(jiǎn)化對(duì)文件的反復(fù)操作;編寫轉(zhuǎn)換程序等。
2. Sed使用方法
sed
常見的語法格式有兩種,一種叫命令行模式, 另一種叫腳本模式。
2.1 命令行格式
格式
sed [option] 'sed的命令|地址定位' filename
說明: 引用shell script 中的變量應(yīng)使用雙引號(hào),而非通常使用的單引號(hào)
option:
-e 進(jìn)行多項(xiàng)編輯,即對(duì)輸入行應(yīng)用多條sed命令時(shí)使用
-n 取消默認(rèn)的輸出
-f 指定sed腳本的文件名
-r 使用擴(kuò)展正則表達(dá)式
-i inplace,原地編輯(修改源文件)
常用命令和選項(xiàng)
p 打印行
d 刪除行
i\ 在當(dāng)前行之前插入文本。多行時(shí)除最后一行外,每行末尾需用”\“續(xù)行
a\ 在當(dāng)前行后添加一行或多行。多行時(shí)除最后一行外,每行末尾需用“\”續(xù)行
c\ 用此符號(hào)后的新文本替換當(dāng)前行中的文本。多行時(shí)除最后一行外,每行末尾需用”\“續(xù)行整行替換
r 從文件中讀取輸入行
w 將所選行寫入文件
s 用一個(gè)字符串替換另一個(gè)
g 在行內(nèi)進(jìn)行全局替換
& 保持查找串以便在替換中引用
= 打印行號(hào)
2.2 腳本格式
用法
#sed -f scirpts.sed file 使用腳本處理文件
#建議使用 ./sed.sh file
#!/bin/sed -f
注意事項(xiàng)文章來源:http://www.zghlxwxcb.cn/news/detail-839311.html
腳本文件是一個(gè)sed的命令行清單。commands
在每行的末尾不能有任何空格、制表符(tab)或其它文本。
如果在一行中有多個(gè)命令,應(yīng)該用分號(hào)分隔。
不需要且不可用引號(hào)保護(hù)命令
#號(hào)開頭的行為注釋
Sed 實(shí)驗(yàn)
實(shí)驗(yàn)內(nèi)容文章來源地址http://www.zghlxwxcb.cn/news/detail-839311.html
根據(jù)IP自動(dòng)更改主機(jī)名并自動(dòng)安裝vsftpd服務(wù)并完成相應(yīng)配置
1.不支持本地用戶登錄
2.匿名用戶可以上傳新建刪除
3.匿名用戶限速500KBps
#!/bin/bash
#獲取IP地址
ip=`ip a | grep -Eo 'inet .* brd' | grep -Eo '[0-9]{1,3}.*\.[0-9]{1,3}'`
ip_end=`echo $ip | sed -E 's/^.*\.//g'`
name="server${ip_end}.itcast.cc"
hostnamectl set-hostname $name
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/=enforcing/=permissive/g' /etc/selinux/config
yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd
sed -i 's/local_enable=YES/local_enable=NO/g' /etc/vsftpd/vsftpd.conf
sed -i 's/#anon_upload_enable=YES/anon_upload_enable=YES/g' /etc/vsftpd/vsftpd.conf
sed -i 's/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g' /etc/vsftpd/vsftpd.conf
sed -i '$a anon_max_rate=500000' /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd
到了這里,關(guān)于關(guān)于Sed命令隨筆的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!