假如要將當前目錄下的所有文件中的windows替換成linux,可以執行

          find -type f | xargs perl -i -pe s%windows%linux%g


          今天工作需要,其實就是一行命令,
          比如要將所有包含abc文件里面的abc替換為def

          1. find -type f | xargs perl -i -pe s%abc%def%g

          如果要把子目錄的內容一起替換

          1. ls -R | xargs perl -i -pe s%abc%def%g


           

          這兩天在構建一個應用的使用用到了maven,由于project很大,足足有700多個pom.xml文件,更郁悶的是在很多pom.xml文件里都單獨指定了資源庫的url,我需要把這些資源庫的url統一指定到nexus本地中央庫.

          手工一個個改文件配置有點不太實際,所以google了一下,找到批量替換文件內容的好方法,命令結構如下:

          find -name '要查找的文件名' | xargs perl -pi -e 's|被替換的字符串|替換后的字符串|g'

          下面這個例子就是將當前目錄及所有子目錄下的所有pom.xml文件中的”http://repo1.maven.org/maven2“替換為”http://localhost:8081/nexus/content/groups/public“.

          find -name 'pom.xml' | xargs perl -pi -e 's|http://repo1.maven.org/maven2|http://localhost:8081/nexus/content/groups/public|g'

          這里用到了Perl語言,

          perl -pi -e

          在Perl 命令中加上-e 選項,后跟一行代碼,那它就會像運行一個普通的Perl 腳本那樣運行該代碼.

          從命令行中使用Perl 能夠幫助實現一些強大的、實時的轉換。認真研究正則表達式,并正確地使用,將會為您省去大量的手工編輯工作。

          posts - 104, comments - 33, trackbacks - 0, articles - 0

          Copyright © 林光炎

          主站蜘蛛池模板: 汨罗市| 开鲁县| 梁平县| 宣城市| 庐江县| 杭州市| 淮阳县| 星座| 郯城县| 石屏县| 苗栗县| 浑源县| 吉安市| 威海市| 沅陵县| 鄯善县| 定边县| 凤冈县| 保山市| 隆安县| 德清县| 常州市| 海晏县| 云浮市| 廊坊市| 那曲县| 宁化县| 白银市| 中江县| 闸北区| 荔浦县| 棋牌| 青州市| 丘北县| 都安| 荥阳市| 大竹县| 商都县| 泰顺县| 宁阳县| 罗山县|