2016-12-07 45 views
0

我有一些腳本進入一個目錄,並且這個目錄也包含其他文件夾。哪一個腳本駐留在我的第一個(父)目錄中我想將所有'dev'字符串替換爲prod。但在一些腳本中,我使用dev/null取消了輸出。我不想把它改成prod/null。 我正在用下面的命令替換所有其他'dev'。在使用sed時排除微笑字符串

grep -rl dev somedir|xargs sed -i 's/dev/prod/g' 

請讓我知道是否有任何方式排除改變開發/ null來PROD /空

感謝。

回答

0

如果grep -r1 dev somedir每個條目由換行分隔,您可以使用此

grep -rl dev somedir | grep -v "dev/null" | xargs sed -i 's/dev/prod/g' 
0

有可能做dev之前更換/dev/null其他一些字符串(即/xxx/null) - >prog替換和更改到/dev/null以後。

grep -rl dev somedir|xargs sed -i -e 's!/dev/null!/xxx/null!g' -e 's/dev/prod/g' -e 's!/xxx/null!/dev/null!g'