我想在配置文件中搜索该表达式:“ central.database”。然后,我想将与“ central.database”关联的设置更改为“
SQLTEST”。
最初,配置文件的布局如下所示:
central.database = SQLFIRSTTEST
这是我希望sed更换后的外观:
central.database = SQLTEST
我正在bash脚本中执行此操作,欢迎提出任何建议,建议或替代解决方案!
(实际上,这两个central.database
和SQLTEST
来自bash的变量在这里。)
我当前的代码(第三次尝试):
sshRetValue=$(ssh -p "35903" -i $HOME/sshids/idrsa-1.old ${1} <<EOF
sed -i "s/^\($CENTRAL_DB_NAME\s*=\s*\).*\$/\1$CENTRAL_DB_VALUE/" /home/testing.txt;
echo $?
EOF
)
错误信息:
Pseudo-terminal will not be allocated because stdin is not a terminal.
sed: -e expression #1, char 58: unknown option to `s'
-bash: line 3: EOF: command not found
这是一个示例表达式:
sed -i 's/^\(central\.database\s*=\s*\).*$/\1SQLTEST/' file.cfg
如果要匹配其中/
的内容,可以使用另一个定界符:
sed -i 's#^\(cent/ral\.data/base\s*=\s*\).*$#\1SQL/TEST#' file.cfg
或使用可变扩展:
VAL="SQLTEST"
sed -i "s/^\(central\.database\s*=\s*\).*\$/\1$VAL/" file.cfg
在您的示例中:
sshRetValue=`sed -i "s/^\(\1$CENTRAL_DB_NAME\s*=\s*\).*\$/\1$CENTRAL_DB_VALUE/" /home/testing.txt`;
$ CENTRAL_DB_NAME前面有一个\ 1无效。而且,sed不会打印它的返回值。这是检查返回值的首选方法:
sed -i "s/^\($CENTRAL_DB_NAME\s*=\s*\).*\$/\1$CENTRAL_DB_VALUE/" /home/testing.txt;
sed_return_value=$?
最终通过管道传输到ssh(未经测试):
sed_return_value=$(ssh server <<EOF
sed -i "s/^\($CENTRAL_DB_NAME\s*=\s*\).*\$/\1$CENTRAL_DB_VALUE/" /home/testing.txt;
echo $?
EOF
)
-i用于替换输入文件中的数据。否则,sed将写入stdout。
正则表达式是它们自己的领域。除非有某些特定的功能使您难以理解,否则不可能在stackoverflow答案中深入解释它们。
问题内容: 假设我有一个RESTful端点,该端点接受一系列构面来查询数据。以下是一些示例: 我的模块接受查询对象来执行搜索: 这些方面正在通过Web表单的本地模型传递: 在该函数的成功回调中,我试图像上面的示例一样将查询参数附加到URL: 如何在AngularJS中动态附加URL参数? 问题答案: 使用$ location 对于Non AngularJS应用程序: 您可以使用history.js
我目前正在进行一个大数据项目,对推特的热门话题进行情绪分析。我学习了cloudera的教程,了解了如何通过flume向Hadoop发送推文。 http://blog . cloud era . com/blog/2012/09/analyzing-Twitter-data-with-Hadoop/ flume.conf: 现在为了将其扩展到我的应用程序,我需要 flume 配置文件中的关键字部分来
问题内容: 我一直在网上寻找这个答案,但似乎找不到。 我有一个配置文件,其中包含: 我想将VAR5的值从VALUE5更改为VALUE10。不幸的是,我不知道VALUE5的值,因此无法搜索。因此,基本上我需要使用sed(或其他任何值)将VAR5的值替换为我想替换为的任何值。 问题答案: 您可以尝试使用此sed: 它给:
问题内容: 我在表中有一条带有错误主键的记录。我想将其更改为正确的值,但该值在许多其他表中使用。 有没有简单的方法可以在同一时间更新主键和外键? 问题答案: 如果将外键设置为级联更改,则值应自动更改。
我的Java代码有问题。我想在一个键中存储多个值,但我想灵活地存储它们。这意味着我从一个文本文件中读取,每行是一个单词。为了储存它们,我想建立成对的单词。例如: 字1/字2 单词2/单词3 单词3/单词4 我已经稍微改变了这种方法。我想将键的值存储在数组列表中。这意味着每次出现新键时都会存储一个新的 Arraylist 和键,但如果键在映射中,我想将它们存储在这个键的列表中。这可能吗? 我们必须将
我想更改“成员”数据框中“成功”列的布尔值。具体来说,我想把真正的价值观改为“成功”,把错误的价值观改为“失败”。你知道怎么做吗? 代码: