Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
76 views
in Technique[技术] by (71.8m points)

javascript - How do you change a line of code in a specific file?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

grep checks for matches in a file. sed is a stream editor. What you can do is locate the file containing a string (or line of code) using grep, then stream (or pipe) the file through sed to create a new (updated) file, then overwrite the old file.

From the top of my head:

STRING="Import {something,somethingElse} from “something”"
REPLACE="Import {something} from “something”"

MATCHING_FILES=$(grep -r $(DIR) -e "$STRING" -l)
OUTPUT=`mktemp`

for file in "$MATCHING_FILES"; do
    cat $file | sed -e "s/$STRING/$REPLACE/g" > $OUTPUT
    cp $OUTPUT $file
done

For a single file, you can omit the grep step as you know its path:

STRING="Import {something,somethingElse} from “something”"
REPLACE="Import {something} from “something”"

OUTPUT=`mktemp`

cat $YOUR_FILE | sed -e "s/$STRING/$REPLACE/g" > $OUTPUT
cp $OUTPUT $YOUR_FILE

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...