sed實現路徑替換


shell和sed忘得差不多了,現在更喜歡用python notebook,可以自動補充,所以很方便。但是記得以前用過這個的,試了幾次不成功,搜了一下,這幾個地方給的比較清晰,尤其是路徑替換。

以下內容均為轉載。

http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html

用sed命令在行首或行尾添加字符的命令有以下幾種:

假設處理的文本為test.file

在每行的頭添加字符,比如"HEAD",命令如下:

sed 's/^/HEAD&/g' test.file

在每行的行尾添加字符,比如“TAIL”,命令如下:

sed 's/$/&TAIL/g' test.file

 

 

轉載地址:https://my.oschina.net/SmileWolf/blog/100269

寫腳本,要實現文件覆蓋。比如,有一個文件/home/a/1.xml,想/home/b目錄下,如果b目錄下存在同名文件就覆蓋。可以這樣寫腳本:

#!/bin/sh

SRC_PATH=/home/a
DST_PATH=/home/b

src_file=${SRC_PATH}/1.xml
dst_file=`echo ${src_file} | sed "s:${SRC_PATH}:${DST_PATH}:g"`

cp -f ${src_file} ${dst_file}

  

當然了,也可以用dirname和basename實現,用這個小例子主要是為了實驗sed的用法。

一般情況下,sed 's/pattern/pattern/flag' 是用/來進行分隔的。但這里的源字符串和替換字符串中,都帶有字符/,如果再用/進行分隔,就會產生沖突。所以,改用了:進行分隔


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM