我创建了一个新文件,其中包含具有特定文件的所有目录的列表:
$ find . -name "bun.biscuts" > TREE.temp
这会将我需要的所有正确信息写入新的临时文件
我在使用sed
编写bash脚本时无法替换TREE.temp
文件中的电子邮件。
这是我到目前为止所做的:
#!/bin/bash
#set -x
echo Start!
for bun.biscuts in (TREE.temp)
do
sed -i 's/EMAIL1/EMAIL2/g';
done
任何帮助都会很棒!
答案 0 :(得分:0)
您只能使用一个sed
命令:
sed -i.bak 's/EMAIL1/EMAIL2/g' TREE.temp
答案 1 :(得分:0)
gniourf_gniourf的评论是正确的;你不需要使用临时文件和循环来执行此操作。但如果您想要,您可以这样做:
while read; do
sed -i 's/EMAIL1/EMAIL2/g' "$REPLY"
done < TREE.temp
对文件的每一行上的文件名执行sed
操作。 $REPLY
是read
每行写入的默认变量名称。您可以通过执行read var
来更改变量名称 - 然后每行都将写入$var
。
答案 2 :(得分:0)
如果您的计算机上有节点,则可以npm install -g rexreplace
然后
rexreplace 'email1' 'email2' TREE.tmp