linux - 重定向和写入同一个文件

标签 linux unix sed

您好,我有一个脚本可以替换 .sql 文件中的某些事件,然后将其写入一些新文件。所以,我在这里不必要地创建额外的文件。无论如何我可以在同一个文件中写入.

脚本部分如下:

sed "s/v1/$value1/g" Save.sql >> CreateViewFinal1.sql
sed "s/v2/$value2/g" CreateViewFinal1.sql >> CreateViewFinal2.sql
sed "s/v3/$value3/g" CreateViewFinal2.sql >> CreateViewFinal3.sql
sed "s/v4/$value4/g" CreateViewFinal3.sql >> CreateViewFinal4.sql
sed "s/v5/$value5/g" CreateViewFinal4.sql >> CreateViewFinal5.sql
sed "s/v6/$value6/g" CreateViewFinal5.sql >> CreateViewFinal6.sql
sed "s/v7/$value7/g" CreateViewFinal6.sql >> CreateViewFinal7.sql
sed "s/v8/$value8/g" CreateViewFinal7.sql >> CreateViewFinal8.sql
sed "s/v9/$value9/g" CreateViewFinal8.sql >> CreateViewFinal9.sql
sed "s/a1/$value10/g" CreateViewFinal9.sql >> CreateViewFinal10.sql
sed "s/b1/$value11/g" CreateViewFinal10.sql >> CreateViewFinal11.sql
sed "s/c1/$value12/g" CreateViewFinal11.sql >> CreateViewFinal12.sql


sqlplus -S -L cimkroger/cimkroger@orcl @CreateViewFinal12.sql

提前致谢。

最佳答案

您可以使用 sed 的内联编辑,并且可以像这样使用 -e 开关避免多个 sed 命令:

sed -i.bak -e "s/v1/$value1/g" -e "s/v2/$value2/g" -e "s/v3/$value3/g" Save.sql

关于linux - 重定向和写入同一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17293615/

相关文章:

linux - 如何缩短 fasta 文件中的 header ?

c - 线程和进程之间的文件锁定

linux - 如何在 syslog-ng 中使用patterndb

linux - 从随机文件列表创建菜单的 bash 脚本

bash - 如何使用可能有换行的输入每 n 个字符插入一个模式?

ruby-on-rails - Postgresql 问题 `initialize` ... Socket .s.PGSQL.5432

c - 时区文件到 POSIX 时区字符串

awk - 如何保留文件/命令的前 n 行,但 grep 其余部分?

c - getaddrinfo 中返回的 sin_port 错误

python - 在 UNIX 环境中运行时,防止在非引号 python 脚本参数中扩展通配符