Articles of sed

在定义('DB_PASSWORD','xxxx')中replacexxx的sed regexp;?

我正在寻找一个正则expression式来快速replace下面的wp-config文件中的密码,如下所示: define('DB_PASSWORD', 'xxxx'); 现在configuration文件有很多定义 ,所以只需要replaceDB_PASSWORD参数。 我也不知道旧的密码,这意味着我不能用'yyyy'replace'xxxx'。 我在Linux上与SED ….(需要replace许多文件),所以如下所示: cat wp-config.php | sed 's/[here the regexp]/new password/' 谢谢!

sed用包含另一个unixpath的variablesreplaceunixpath

我需要通过sedreplaceUnixpath,在bash脚本中包含另一个unixpath的variables 例: another_unix_path=/another/unix/path sed -i 's/ \/some\/path\/file.txt/ '$another_unix_path'/g' some_file.txt

试图从文件中执行grep和sed,并将输出推送到variables中

我们可以从文件中执行grep和sed,并将输出推送到variables中 grep "^/dev/disk/by-id/scsi-*" /tmp/disks.txt | sed '{'s/=.*//'}' 输出将是这样的: /dev/disk/by-id/scsi-3644a8420420897001f2af8cc054d33bb /dev/disk/by-id/scsi-3644a8420420897001ef50fcb0f778b86-part3 /dev/disk/by-id/scsi-3644a8420420897001ef50fcb0f778b86-part2 错误: [/~]# grep "^/dev/disk/by-id/scsi-*" /tmp/disks.txt | sed {'s/=.*//'} >> $x -bash: $x: ambiguous redirect 我们可以将所有3行变成一个variables,并用foreach调用它们吗? 谢谢!

如何在Unix / Linux系统上从命令行recursionsearch和replace

所以我想用一个命令来改变多个文件。 这是我迄今为止: find -regex ".*\.ext$" | xargs grep -l searchText 2> /dev/null | xargs -i sed 's/searchText/replaceText/' > {}.new 它能做什么: 我find扩展名为ext的文件,把它发送到grep,忽略错误,然后把它发送到sed,用新文件名file.ext.newreplace。 问题似乎是sed中的redirect>阻止{}被replace为文件名。 有任何想法吗? 还是更好的解决scheme?

vi语法来注释非注释行(cron)

任何人都知道在vi中是否有可能只用注释replace未注释/非空白行? 如果我想用一些我知道可以使用的东西replace一个注释行:%s / ^#/ ## foo ## / g – 但我正在寻找与此相反的东西。 示例文件: # Some user's cron # Test comments 00 00 * * * ~/somescript.sh 预期结果: # Some user's cron # Test comments ##DISABLE##00 00 * * * ~/somescript.sh

sed / awk:从string中提取一个数字

我有许多行,像下面这样从bash命令返回,具有不同的数字长度的sourceNodeIds : <NodeAssociation sourceNodeId="33654" […] sourceNodeEntity="Issue" /> 我想sourceNodeId="nnnn"到sed或awk,只需从sourceNodeId="nnnn"返回数字nnnn 就像是: cat blah | sed 's/.+?sourceNodeId="\(\d+\)".+/\1/' 但是这不起作用。 我在Mac上,如果这有什么区别(我认为sed的版本可能会有所不同)。 我知道Perl的正则expression式,但我认为sed期待着一种不同的types。 谢谢!!!

sed +不能在solaris上工作

我在Solaris机器和Linux机器上运行以下sed语法 在Linux机器上sed做JOB它删除所有字符,直到第一个数字。 但是为什么这个sed语法在Solaris上不起作用? 我需要在sed语法中更改以便在Solaris上运行它? 在solaris(sed – 不删除string,直到第一个数字?) solaris:/ ROOT > echo "Release…………5.3.7.1-12" | sed 's/[^0-9]\+//' Release…………5.3.7.1-12 在Linux上(我得到很好的结果) linux tmp]# echo "Linux Release…………5.3.7.1-12" | sed 's/[^0-9]\+//' 5.3.7.1-12

shell脚本+从日志文件中匹配MAJOR和CRITICALstring

我需要匹配具有MAJOR和CRITICALstring的行 在ERROR:<any integer number>之后 请build议如何使用awk或sed命令做到这一点? more HW_Log.txt CHK_HW ERROR:0 INFO self_monitor Verifying HW machine CHK_HW ERROR:1 MAJOR self_monitor Verifying HW machine CHK_HW ERROR:1 CRITICAL self_monitor Verifying HW machine

sedsearchreplaceenryptedstring范围

可能重复: 我的服务器被黑了应急 我的基于php的网站感染了恶意软件,在代码中添加了这样的内容: <?php eval(base64_decode("DQplcnJvcl9yZXBvcnRpbmcoMCk7DQokcWF6cGxtPWh)); 现在我想取代所有的“eval(”直到它的结束括号“));” 与空间或删除所有这些事件,无论是与sed或其他工具。 我已经试过了 sed 's/eval\*/ /g' code.php 但它不工作。 什么是它的解决scheme? 提前致谢。

find文本,然后在多个文件中插入linebreak和一些php代码

我有一个特定的PHP代码评论,出现在几个用户的约75个文件。 这个命令succsessfully定位它。 (我没有费心寻找双斜线,因为我不确定是否逃跑了,他们真的没关系。) grep -l -r "calls the myfunc() function" /home/*/public_html find之后,我需要添加换行符和一些更多的PHP代码 if($my_return_var===false){echo "<b>THERE WAS AN ERROR</b>";} 我也需要做类似的事情 grep -l -r "include('path/to/my/file.php')" /home/*/public_html 然后插入它之前 "$my_return_var=" search谷歌,我发现greppipe道sed可能是要走的路,但我不确定的语法。 谁能帮忙? 顺便说一句,这个Q / A可能很接近,但还是有点过头了。 如何在Linux中replace多个文件中的文本string