歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> PERL編程 >> 使用Perl修改Linux文件

使用Perl修改Linux文件

日期:2017/2/27 14:28:40   编辑:PERL編程

  當你編寫腳本或是安裝程序的時候,就需要修改特定文件的數據,如果這時有自動修改文件的功能,那將會是非常實用的。例如,當你需要移動一個文件中的某個字符串或是命令,當你要改變許多文件的IP地址的時候,這個功能就可以拿來利用了。    手動改變這些文件會耗費很長的時間,特別當它是一件重復性的任務。但是,你可以使用Perl程序來完成。所有的Linux供應商都有這個程序。執行以下操作:    $ perl -pi -e 's[old_string][new_string]g' [file]    字符串可以是簡單的命令或是常規的表達式。如果你要改變目錄的位置(例:從/var/spool/mail到/var/spool/messages),你想要改變目錄/etc下的每個文件來反映路徑變化。執行以下操作:    $ find /etc -type f xargs perl -pi -e 's\/var\/spool\/mail\/var\/spool\/messagesg'    在這個例子上,我們使用搜索和xargs來確保系統只運行常規文件的命令,而不是非常規目錄或其它文件類型的命令。這也就運行了/etc目錄樹,而且會遞歸的改變所有文件。    由於我們/標識,所以我們必須輸入了像\/var這樣的路徑而不是/var。我們也可以在Perl表達式使用分隔符。(除了使用,你也能夠使用/, #,@作為分隔符。)    執行以下操作,從整個文件裡移開一個命令    $ perl -pi -e 'smyWordg' file    這就從基本上沒有使用任何東西卻代替了“myword”.(需要注意的是在第二個和第三個分隔符之間沒有空格)。    以這種方式使用Perl的話,當你修改配置文件或其它任何類型的數據的時候,你就會極具創造力。它就是一個自動搜索和代替的功能。




Copyright © Linux教程網 All Rights Reserved