Articles of sed

linux:sed -eexpression式错误

我试图使用sedrecursionreplacemysqlstring,像这样 find /var/www/html -type f -exec \ sed -i 'mysql_real_escape_string(/$conn->qStr(/g' {} + 的目标 find: mysql_real_escape_string( replace to: $conn->qStr( 但它给了我错误: sed: -e expression #1, char 1: unknown command: `m' sed: -e expression #1, char 1: unknown command: `m' sed: -e expression #1, char 1: unknown command: `m' 任何帮助将是伟大的。 谢谢

如何使用awk增加值

我有一个文件旁边的文字: versionName "1.11.0" 我想每次运行一个像这样的命令时增加数字: versionName "1.12.0" versionName "1.13.0" versionName "1.14.0" 我正在使用下面的命令来增加数字,但它取代了一个不带双引号的数字文本,像1,2,3,4一样递增。 这是我的命令: awk '/versionName /{++$NF}1' test > tmp && mv tmp test 有人可以告诉我,我只会增加第二位数字

如何用另一空间和性格取代空间

我试图使用下面的命令: sed 's/\s/\s\#/g' 这应该是这样的: My Awesome Example Text 并将其更改为: My #Awesome #Example #Text 但是,我无法做到这一点。 我试了几下,然后逃脱了。 什么是适当的sed命令呢? 我查了一些其他的文章(下面),但是他们没有使用文字\s的答案。 尝试: 如何用\(空格)replace空间使用sed? https://serverfault.com/questions/431167/sed-replace-all-tabs-and-spaces-with-a-single-space

为单个命令指定多个可能的模式

基本上有几行包含一个共同的格式,但最后的措辞不同。 该命令将为所有这些工作,但我想匹配所有可能的模式,因此只需要在脚本中的1行。 作为一个例子,我知道如何使脚本如此工作: /pattern1/ s/asdf/ghjk/g /pattern2/ s/asdf/ghjk/g /pattern3/ s/asdf/ghjk/g 有任何想法吗?

如何在sed中匹配后replace一段文本

在sed ,我想在匹配后replace多行文本块,例如匹配“foo”(假设行号为0)后,我想将行-3的文本块replace为行+ 5,即在匹配行的第三行和匹配行的第五行之间的文本块,由另一个文本块bar1\nbar2 。 我想能够在两种情况下做到这一点: 1)在replace的块之后保留匹配的行; 2)删除匹配的行,连同那些行-3和+5。 请帮帮我。 谢谢。

是否有可能在sed地址做简单的算术?

是否有可能在sed地址做简单的算术? 根据“地址”手册部分来看,答案似乎不是。 但也许有一个解决方法? 例如,如何打印文件的第二行? 这将是很酷的东西,如: sed -n '$-1 p' file 但它显然不工作…所以我通常必须做多个sed调用,首先用于标识行,然后使用shell $((expr))进行算术运算,然后再次调用sed。 喜欢这个: sed -n "$(($(sed -n '$ =' file)-1)) p" file 是否有一个“更好”,更紧凑,更可读的方式与sed地址算术? 在一个严重的拖延时刻,我决定写一个小脚本,迅速改变xterm色彩scheme 。 这个想法是,你有.Xresources文件的开始标记和结束标记: … START_MARKER … END_MARKER … 而您想要删除标记之间的所有内容,而不是标记本身。 再次,做这样的事情会很棒: sed '/START_MARKER/+1,/END_MARKER/-1 d' file …但你不能!

我怎样才能在Linux中学习sed分支

我正在尝试但能够了解sed的分支。 为什么我们需要它,它的目的是什么? 在这个解决scheme中,从文件中删除\n ,他使用: sed ':a;N;$!ba;s/\n/ /g' 我无法理解标签。

tr命令不能直接输出?

我有一个文件file.txt巫婆已经得到这些条目 纽约 LA SF 我运行命令tr'\ n'','<file.txt,并成功删除了所有换行符。 我需要所有这些输出在同一个file.txt文件,所以我redirect这样的输出 tr'\ n'','<file.txt> file.txt, 但它不会把任何东西放在file.txt中,并且结果文件是空的,任何人都可以向我解释为什么tr的输出由于redirect而丢失。

查找没有指定字符的文件名

是否有一个很好的regex来查找所有不包含特定字符的文件? 我知道有很多可以find包含匹配的行,但我想要find所有不包含我匹配的文件的东西。

sed – replace几个连续的行匹配模式

我正在尝试用文本replace文件中的两个连续行。 例如: testfile.rb class Test def procedure nil end end 我正在努力实现这一点: testfile.rb class Test def procedure nil finish finish 所以我需要更换最后2行,但这是行不通的: sed -i 's/^\s\send\nend/ finish\nfinish/' testfile.rb 我知道这是失败的,因为replace是一行一行的。 但是我怎么能这样做呢?