簡體   English   中英

交互式查找和替換-Bash腳本

[英]Interactive Find and Replace - Bash script

我知道在bash / perl世界中已經問過很多這個問題。

我可以在這里欣賞答案交互式搜索並從shell替換

:argdo %s#SEARCH#REPLACE#gec |update

這對我來說還可以,我喜歡並使用vi。

但我想將此概念帶入一個新的高度

上面鏈接給出的答案如下: sed -i -e 's/foo/bar/g' filename再次起作用。

因此,為了使它成為可執行/交互式腳本。.我嘗試了如下操作:

#!/bin/sh

read -r -p "Search For: " FIND 
read -r -p "Replace With: " REPLACE 
read -r -p "Full Path To File: " FILE 

sed -i -e 's/"${FIND}"/"${REPLACE}"/g' "$FILE" 

但是,如果您正在閱讀本文,您可能知道您無法在bash腳本中像這樣運行sed

關於將此find_replace.sh用作工作腳本有什么想法?

謝謝閱讀。

首先,您應該在最后一行切換單引號和雙引號。 這樣,bash會將變量替換為值。 第二,您應該在FIND和REPLACE值周圍添加一些轉義。 對於其中一個將使用包含/字符的值的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM