正在尝试插入
主机:本地主机
端口:5432
用户名: Postgres
密码: 邮政
到一个带有bash脚本的database.yml文件中,我终于取得了一些成功。这是到目前为止的脚本:
#!/bin/sed -f
/^development:/i host: localhostn port: 5432n username: postgresn password: postgres
但它仍然在输入之前留下一个空行。如何在同一个 bash 文件中删除它?我现在需要的最后一件事是让输出从
Line
Line
host: localhost
port: 5432
username: postgres
自:
Line
Line
host: localhost
port: 5432
username: postgres
在上面的同一 bash 文件中使用搜索和匹配参数。
好的,我无法让你的代码为自己工作(我认为它缺少一些(,所以我只是以一种更简单的方式重写了你需要的东西。让我们知道为什么您需要使用sed
,如果有的话:
#!/bin/bash
echo " host: localhost
port: 5432
username: postgres
password: postgres" > database.yml
这将简单地创建您需要的文件。您不需要sed
。关于接下来的两个问题,如果要删除第一个空行,可以使用以下命令sed
:
sed -i '1d' database.yml
将1
替换为要删除的行号。对于您的最后一个问题,如果您知道哪个行号为空,则可以使用上面的sed
命令,但如果没有,以下内容可以帮助您:
sed -i '/^$/d' database.yml
将删除数据库.yml 文件中的所有空白行。您也可以使用awk
实现相同的目标(在此处阅读有关awk
的更多信息(:
awk 'NF' database.yml > database1.yml
您可以像使用如下所示awk
一样仅删除第一个空白:
awk 'NR!=1' database.yml > database1.yml
请注意,不能将awk
输出到同一文件。
希望这有帮助。