2010-04-20 55 views
1

我在MySQL有一個數據庫轉儲,我要替換的是轉儲明文路徑ocurrencies從MySQL轉儲替換文本。使用cat(或別的東西)在外殼

在這種特殊情況下,我想,以取代:

/var/www/ 

/home/www/ 

我怎麼能放心地做,使用貓或其他任何殼工具?

回答

2
cat old.file | sed 's%/var/www/%/home/www/%g' > new.file 
+1

無用的使用貓 – ghostdog74 2010-04-20 13:29:54

+0

的僅僅是,在任何情況下工作的人。 – 2010-04-20 13:53:15

+0

貓可以被「優化掉」,當然。但是,我寧願離開它,因爲它是有兩個原因。 1)當轉儲來自一個過程,而不是一個文件的標準輸出該解決方案也適用。 2)它清楚地表明,old.file是隻讀的,但不能寫。 – Bolo 2010-04-20 22:04:26

1

嘗試:

sed 's/\/var\/www\//\/home\/www\//' old_file > new_file 
0
awk '{gsub("/var/www/","/home/www/")}1' mydump >temp && mv temp mydump