Linux系統,取代目錄(含子目錄)下所有檔案裡字串
問題
將 content 目錄下 http://forestmeditation.com/audio/files/ 這個字串取代成 /7rsk9vjkm4p8z5xrdtqc/audio/ForestMeditation/ ,該如何做呢?
解答
經過Google搜尋後,找到 [1] 跟 [2] ,可利用 find 跟 sed 來達成任務:
先進入 content 目錄,然後打:
find . -type f -exec sed -i 's/http:\/\/forestmeditation.com\/audio\/files\//\/7rsk9vjkm4p8z5xrdtqc\/audio\/ForestMeditation\//g' {} +
(利用 \ 來 escape /)
References:
[1] | text processing - How can I replace a string in a file(s)? - Unix & Linux Stack Exchange |
[2] | How to replace a string in multiple files in linux command line - Stack Overflow |
[3] | bash - Escape a string for a sed replace pattern - Stack Overflow |
[4] | 三分钟教你轻松掌握 grep 命令中的正则表达式 - 博客 - 伯乐在线 |