新聞中心
本文和大家重點(diǎn)討論一下Linux中使用Perl修改文件問題,在學(xué)習(xí)Perl語言的過程中Perl修改文件方面的問題經(jīng)常會遇到,這里和大家分享一下,希望本文的介紹能讓你有所收獲。

為曲阜等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及曲阜網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站制作、曲阜網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
Linux中使用Perl修改文件
當(dāng)你編寫腳本或是安裝程序的時候,就需要修改特定文件的數(shù)據(jù),如果這時有自動修改文件的功能,那將會是非常實(shí)用的。例如,當(dāng)你需要移動一個文件中的某個字符串或是命令,當(dāng)你要改變許多文件的IP地址的時候,這個功能就可以拿來利用了。
手動改變這些文件會耗費(fèi)很長的時間,特別當(dāng)它是一件重復(fù)性的任務(wù)。但是,你可以使用Perl程序來完成。所有的Linux供應(yīng)商都有這個程序。執(zhí)行以下操作:
$perl-pi-e's|[old_string]|[new_string]|g'[file]
字符串可以是簡單的命令或是常規(guī)的表達(dá)式。如果你要改變目錄的位置(例:從/var/spool/mail到/var/spool/messages),你想要改變目錄/etc下的每個文件來反映路徑變化。執(zhí)行以下操作:
$find/etc-typef|xargsperl-pi-e's|\/var\/spool\/mail|\/var\/spool\/messages|g'
在這個例子上,我們使用搜索和xargs來確保系統(tǒng)只運(yùn)行常規(guī)文件的命令,而不是非常規(guī)目錄或其它文件類型的命令。這也就運(yùn)行了/etc目錄樹,而且會遞歸的改變所有文件。
由于我們/標(biāo)識,所以我們必須輸入了像\/var這樣的路徑而不是/var。Linux中使用Perl修改文件時我們也可以在Perl表達(dá)式使用分隔符。(除了使用|,你也能夠使用/,#,@作為分隔符。)
執(zhí)行以下操作,從整個文件里移開一個命令
$perl-pi-e's|myword||g'file
這就從基本上沒有使用任何東西卻代替了“myword”.(需要注意的是在第二個和第三個分隔符之間沒有空格)。
以這種方式使用Perl的話,當(dāng)你修改配置文件或其它任何類型的數(shù)據(jù)的時候,你就會***創(chuàng)造力。它就是一個自動搜索和代替的功能。
文章轉(zhuǎn)載自網(wǎng)管網(wǎng):http://www.bitscn.com/os/linuxbc/200701/97789.html
【編輯推薦】
- Perl文件屬性函數(shù)
- Perl文件句柄概念詳解
- 深入學(xué)習(xí)Perl文件系統(tǒng)用法
- Perl文件讀寫方法詳解
- Perl基礎(chǔ) 解析Perl標(biāo)量和數(shù)組概念
本文名稱:Linux中使用Perl修改文件
轉(zhuǎn)載注明:http://m.fisionsoft.com.cn/article/dpjhihe.html


咨詢
建站咨詢
