sed實現路徑替換

shell和sed忘得差很少了,如今更喜歡用python notebook,能夠自動補充,因此很方便。可是記得之前用過這個的,試了幾回不成功,搜了一下,這幾個地方給的比較清晰,尤爲是路徑替換。html

如下內容均爲轉載。python

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

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

假設處理的文本爲test.filespa

在每行的頭添加字符,好比"HEAD",命令以下:.net

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

在每行的行尾添加字符,好比「TAIL」,命令以下:htm

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

 

 

轉載地址: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' 是用/來進行分隔的。但這裏的源字符串和替換字符串中,都帶有字符/,若是再用/進行分隔,就會產生衝突。因此,改用了:進行分隔

相關文章
相關標籤/搜索