sed:替换部分线路

如何用sed替换线路的一部分 线路 DBSERVERNAME xxx 应替换为: DBSERVERNAME yyy 值xxx可以变化,dbservername和值之间有两个选项卡。此名称-值对是配置文件中许多名称-值对之一 我尝试了以下反向引用: echo "DBSERVERNAME xxx" | sed -rne 's/\(dbservername\)[[:blank:]]+\([[:alpha:]]+\)/\1 yyy/gip' 这导致了一个错误:“s”命令的RH

sed为grep+;忽略并匹配

我有下面的文件示例 more somefile param=a b c d e f g z x w # param=a b c d e f g z x w 我需要使用sed创建以下内容(如果可能,应为一行): 忽略行开头的字符 首先匹配参数字符串 第二个匹配“abcdefzw”(如grep-w),如果成功,则给出退出状态 像 sed "/^ *#/b; /\<param\>/" .... sed“/^*#/b;/\/”。。。。 第一个术语删除开头带有“

Sed 用变量替换文本

我想用一个变量替换这个值。由于sed中使用了单引号,以下内容不起作用 #!/bin/sh set myvarM='pqr' sed 's/:P03:M15/:P02:M1$myvarM/' mychange.txt > new_mychange.txt 我可以更改sed命令还是应该使用其他命令 #!/bin/sh myvarM='pqr' sed "s/:P03:M15/:P02:M1$myvarM/" mychange.txt > new_mychange.txt 顺便说一句,

Sed 转义单引号

以下各项按预期工作。我想用“我”来代替“我” 预期结果: test \' this 在同一个命令中是否也可以转义双引号?您的问题有点令人困惑,因为原始字符串中没有要替换的me。不过,我想我有。让我解释一下: 我有一个sed命令,它可以成功地将单个引号“替换为单词me。我想要一个类似的,可以用字符序列替换的 如果是这种情况(您只想转义单引号),可以使用: pax$ echo "test ' this" | sed "s/'/\\\'/g" test \' this 通过在sed命令周围使用双引

多次使用不带管道的“sed”

例如: echo one two three | sed 's/ /\n/g' | sed 's/^/:/g' 输出: :一个 :两个 字体三 无管道: echo one two three | sed 's/ /\n/g;s/^/:/g' 输出: :一个 两个 三 似乎第一个模式在执行第二个模式之前并没有被扩展,但我对sed真的不太了解 如何使用第一个示例而不使用两次管道 示例中使用的PS模式是信息性的这里的主要问题是sed在执行任何命令之前决定什么构成一条线(它工作的模式)。也就是说,如

sed文本替换

如何使用GNU sed将文本替换为其他文本?我被黑客攻击了,我只是想看看是否可以删除一些放在php文件中的代码。正文是全文的一部分 eval(base64_decode('blah')); 多样性。所有这些都是相同的,我只想在所有文件中查找并替换它们。我尝试过一些命令,但它们要么不必要地修改和破坏文件中的文本,要么根本无法启动 sed -i 's/text/other text/g' filename (sed-i“s/eval(base64_decode('blah'))/huh/g”文件

如何使用';sed';命令行工具?

假设我有一个以下文本文件,其中包含: Non-Leaf Node: level=1 count=27 address=52 branch 0 : rect id 1 rect: -117.035332 -114.738449 32.269550 32.711048 branch 1 : rect id 2 rect: -117.037956 -114.758972 32.245251 32.684460 branch 2 : rect id 3 rect:

Sed-在一条匹配多次的线中打印图案

输入- 在576号比赛中,X的得分为1725,Y的得分为6248 我想让塞德离开- 1725年 6248 我的代码- sed 's/Score[[:space:]]\([0-9]+\)/\1/g' 上述代码输出- 1725和Y在比赛中得分6248 您可以尝试以下sed命令 #!/bin/sed f s/Score\s*/\ /g s/\n\([0-9]\+\)[^\n]*/\ \1/g s/^[^\n]*\n// 第一个命令将所有“分数”替换为换行符,因此现在所有数字都位于一行的开头。要插入

Sed 在命令行中复制特定文件

我想复制10月16-17日完成的最后更改的特定文件,文件类型为java。 shia@ubuntu:~/code$ ls -alxo total 96 drwx------ 2 shia 4096 Oct 20 18:54 . drwxr-xr-x 61 shia 12288 Oct 20 19:24 .. -rw------- 1 shia 12288 Oct 16 21:52 .Reuse.java.swp -rw-rw-r-- 1 shia 746 Oct 20 11:16 Ar

Sed 处理文档,添加词性

每行有一个定义,格式为“WORDPartOfSpeech” 任务是处理文档,添加词性 无论何时定义。不应重新设置格式 例如,如果词典是 文章 大形容词 球名词 文件是 大红球掉了下来 那么输出应该是 文章大/形容词红球/名词落下 如果我将词典作为两个字段放在数据库表中,并运行一个SQL select,输出为一行逗号分隔的行,格式如下:“the/article,big/adyperator,ball/noun”那么,我该如何处理这一行并对文档进行处理,以便像上面那样输出?您应该修改sql查询,以保

澄清';sed';使用

我只是盲目地按照教程中的命令一次重命名几个文件夹。有谁能解释作为sed的-e选项的参数给出的“p;s”的含义吗 [root@LinuxD delsure]# ls ar1 ar2 ar3 ar4 ar5 ar6 ar7 [root@LinuxD delsure]# find . -type d -name "ar*"|sed -e "p;s/ar/AR/g"|xargs -n2 mv [root@LinuxD delsure]# ls AR1 AR2 AR3 AR4 A

Sed 如何用特定值替换csv文件的第二列;XYX";

要使用xyz替换csv文件的最后一个字段,我使用以下命令: awk -F, '{$NF="xyz";}1' OFS=, file 如何用值xyz覆盖文件的第二列?您正在查找: awk '{$2="XYX"}1' file ? 如果希望FS为逗号: awk -F, '{$2="XYX"}1' OFS=, file 您正在寻找: awk '{$2="XYX"}1' file ? 如果希望FS为逗号: awk -F, '{$2="XYX"}1' OFS=, file 在awk中,变量NF

使用sed替换两次的bash脚本

文件1包含: first=stan last=smith 我想创建文件2,其中包含 first=homer last=simpson #!/bin/bash sed s/stan/$1/ file1 >tempfile sed s/smith/$2/ tempfile >file2 rm tempfile script.sh包含 first=homer last=simpson #!/bin/bash sed s/stan/$1/ file1 >tempfile sed

将以#开始的行移动到下一行的末尾。首选AWK或SED

我需要将从#开始的每一行移动到下一行的末尾(AWK/SED?) Testfile.txt: # FIRST COMMENT alias1: john@domain.com, tom@domain.com alias2: betty@domain.com # SECOND COMMENT alias3: anna@domain.com, mark@domain.com alias4: dan@domain.com 预期产出: alias1: john@domain.com, tom@domain

sed:-e表达式#1,字符23:s'的未知选项;

我正在尝试使用sed使用bash脚本更新配置文件。在脚本中,我有一个类似的sed命令,在这个命令的正上方运行良好。我似乎不明白为什么会这样: sed -i.bak \ -e s/"socketPath:'https://localhost:9091'"/"socketPath:'/socket'"/g \ $WEB_CONF 有什么想法吗?我看不清您使用的分隔符,所以您不能责怪sed搞砸了。当数据集中包含/时,通常建议使用不同的分隔符,如或(是的,sed支持各种分隔符) 而且,

Sed 删除找到的图案前后的线条

我有一个配置被禁用,因为它嵌入了注释中。 我的Sed正在删除模式下的行,但是带有模式的行也会被删除。我能告诉Sed保持当前线路吗?或者只删除找到的模式前后的行 输入 。。。 ... 塞德 #sed-e'/,+2d'server.xml 输出 ... <!-- ... 。。。 这可能适用于您(GNU-sed): sed'$!N/\n/{s/*\n//p;$!n;d};PD'文件 在图案空间中保留两行,删除第一行,打印下一行,如果找到图案,则删除下一行。这可能适用于您(GNU-sed)

如何使用sed从给定文本打印部分文本

如何使用sed从以下输入文件打印部分文本 输入数据文件 ABC mobile - ABC, Inc XYZ123 mobile - XYZ123 company TD Ameritrade Mobile Trader - TD Ameritrade Mobile, LLC 预期产量 ABC, Inc XYZ123 Company TD Ameritrade Mobile, LLC 只需删除所有内容,直到破折号和空格: sed 's/.*- //' 只需删除所有内容,直到破折号和空格: se

有没有办法简化下面的sed?

有没有一种方法可以简化以下sed(不使用另一个二进制文件,仅使用sed),同时牢记重新排列数字块的要求 echo "server16 :: FetchChannels.20160131.170019.875685.16232510.22" | sed -e 's/\ \:\:\ \([a-zA-Z]*\)\.\([0-9]\{4\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)\.\([0-9]\{2\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)/\ \ \5\:

匹配前删除3行,匹配后删除1行,不包括带sed的匹配行

我想使用sed-I删除。我知道,用awk的方式 if {[string match blr* [uname nodename]]} { puts stderr "version sd_root_2013_11_04 does not exist" } else { setenv sd_ROOT /tools/sd/sd_root_2013_11_04 } 预期产出: setenv sd_ROOT /tools/sd/sd_root_2013_11_04 可以使用sed完成,但非常难看:

如何在sed中转义字符类中的]char

echo“eh]”sed-r's/[\]a]/lol/g'返回eh]而不是ehlol。没有出现错误,因此我认为\]是一种sed魔术。我厌倦了不断的sed问题,但我必须使用它。那么如何在sed替换表达式中转义]呢?您可以简单地使用echo“eh]”| sed-r的/[]a]/lol/g': 没有反斜杠 和]作为括号内的第一个字符 ]和\在括号内使用时有一些特殊性。 让我引述: 前导“^”反转列表的含义,使其匹配列表中不存在的任何单个字符要将]包括在列表中,请将其作为第一个字符(如果需要,^之后

Fish:如果使用sed编辑$path,则从$path删除路径失败

我正在使用fish2.2.0。(是的,我知道它很旧,我对此无能为力。) 我想从$path中取消设置路径(/usr/local/ferret-6.82/bin)。为此,我假设使用sed可以: > echo $PATH /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /usr/local/ferret-6.82/bin /opt/intel/bin > ec

如何根据sed反转所有单词?

例如,我们有: This is the song that doesn`t end 什么sed命令会把它变成这样 end doesn`t that song the is This 我只找到了如何反转文件中的行(又称为tac): 请您尝试以下内容,并让我知道这是否有助于您 awk '{for(i=NF;i>0;i--){printf("%s%s",$i,(i>1?OFS:ORS))}}' Input_file 这可能适用于您(GNU-sed): 追加一个换行符作为分隔符。将当

sed命令查找链接中的.css文件

我正在使用sed从html文件中读取.css文件名(在“href=”之后)。命令如下: cssFiles=$(echo "$BODY" | sed -rn 's/<link\s.*href=\W(.*.css).*/\1/p') 预期产出: /css/default.css js/flexslider/flexslider.css 试试这个: cssFiles=$(echo "$BODY" | sed -rn 's/<link\s.*href=\W(.*.css).*/\1/p'

sed:如何在两个斜杠后删除字符串中的所有内容/?

我有一行代码 require_once(PATH_ROOT).'/calls/inumber.php'); //this is a comment<br> 但这会删除(PATH.ROOT)之后的所有内容。'/ 我想删除注释,而不是路径。Ir不在上面的示例中,但我如何排除SED,而不是在http://之后删除,因为还有两个。 编辑:好的,任务是删除所有以至少两个斜杠开头的单行注释。跟在后面的字母/数字/符号不重要,用零代替它。唯一的例外是http://应该跳过它。示例和结果: $a

如何使用sed替换shell中的第二列

我有一个文件,看起来像这样: 1,2,3,4 5,6,7,8 我想替换包含6到89的2rd列。所需输出为 1,2,3,4 5,89,7,8 但是如果我打字 index=2 cat file | sed 's/[^,]*/89/'$index index=2 cat file | sed 's/[^,]6/89/'$index 我明白了 1,89,3,4 5,89,7,8 如果我打字 index=2 cat file | sed 's/[^,]*/89/'$index index=2

Sed 在AIX系统上,如何在文件的某一行插入数据

在AIX测试系统上,我想在某一行向文件插入一些数据。我尝试使用sed命令sed“5i some_data”somefile.txt,但失败。有什么建议吗?sed更适合编辑流;可以对文件使用可编写脚本的文本编辑器。带有ed或ex的示例: ed somefile.txt <<EOE 5i some data . wq EOE ed somefile.txt在以下方面非常严格: 本标准规定: [1addr]i\ text Write text to standard output. 当

sed在两个括号之间的最后一行插入第二行

我有一个包含以下信息的区域文件: zone "example.com" { type master; file "master/example.com"; }; zone "example.org" { type master; file "master/example.org"; }; 等等。我需要grepexample.com并在括号内添加三行 我可以用这个来获得整个括号: sed -n '/zone \"example.com\" {/,/};/p' zo

Sed 从一个文件输入并在另一个文件中匹配,然后打印,直到模式匹配为止

我有两份档案文件1包含以下ID: id/35651 id/35325 id/20993 id/30167 id/29807 id/28315 id/29759 id/27715 id/26884 id/30412 File2包含多个ID,类似于File1的模式,后跟多行描述。现在,我想打印File2中的所有ID及其说明,这些ID出现在File1中。 文件2是巨大的。我这里有一个较小的版本 >id/30412 GCACACATTTTCTCGCGCTCTCTCCGGCTCTCCTTTGTTT

使用sed一次查找并打印文件中的两个行块

我正在尝试使用一个sed命令从一个文本文件中查找并打印两个不同行数的块,如下所示: ... INFO first block to match id: "value" ... last line of the first block INFO next irrelevant block id: "different value" ... INFO second block to match id: "value" ... last line of the second block ... se

sed双引号与单引号

我正在尝试替换某些包含符号$的文本: echo“\$hello=false”| sed-re“s/(\$hello=)false/\1true/”>$hello=false echo“\$hello=false”sed-re的/(\$hello=)false/\1true/”$hello=true 为什么单引号版本有效,而双引号版本无效?这是因为在双引号中,反斜杠\是用于转义的字符,因此shell在转义时将其删除。因此,它不会传递给sed。 尝试: “\$”=$,“\$”=\$看哦,我明白了

sed还删除部分IP地址

谁能帮我一下吗? 我有这条线 test.txt siemplog1.nw.lan/172.31.180.22 我尝试了这个命令sed-Ei“s/^[a-za-z].*([0-9]{1,3}\[0-9]{1,3}\[0-9]{1,3}.*/\1/“test.txt 结果应该是172.31.180.22,但我得到了这个2.31.180.22 谢谢这个*匹配尽可能多的字符(它是“贪婪的”),而且由于[0-9]{1,3}只能匹配一个数字,所以17由*匹配,2由[0-9]{1,3}匹配 您可以在任何非数字

使用sed计算字符串的出现次数?

我有一个文件,其中包含多次写入的“标题”。如果“title”是一行中的第一个字符串,那么如何使用sed命令查找在该文件中写入“title”的次数?e、 g # title title title 应输出计数=2,因为第一行中的标题不是第一个字符串 更新 我使用awk查找事件总数,如下所示: awk '$1 ~ /title/ {++c} END {print c}' FS=: myFile.txt 但是,我如何告诉awk只计算上面示例中解释的第一个字符串为title的行呢?我认为sed不合适

Sed linux中如何用逗号替换IP地址

我想将第二个逗号后的IP地址替换为92.2.11.1,用于所有: pr,th-klmndisj,92.2.11.1 da,th-kl532disj,92.2.11.8 fr,th-klmn4532j,92.2.21.2 pr,th-klmn52sj,92.2.11.3 pr,th klmndisj,92.2.11.1 陆军部,th-kl532disj,92.2.11.8 fr,th-klmn4532j,92.2.21.2 pr,th-klmn52sj,92.2.11.3 预期视图: pr,th-

缩短sed命令-使用它生成星号调用日志

我知道asterisk以csv文件的形式创建自己的通话记录。出于我的目的,我需要如下所述格式的通话记录。我使用: ls-l/var/spool/asterisk/monitor作为我的通话记录的基础,它生成以下内容: -rw------- 1 asterisk asterisk 112684 2013-02-07 17:24 20130207-172424-+15551235566-IN.wav -rw------- 1 asterisk asterisk 44 2013-02-07

Sed 从文件的每一行删除第一、第二和第五个字符的Unix命令? 例如:让我们考虑我的文件包含100行,其中我需要从每行删除第一、第二和第五个字符。

见: 样本输出 您可以尝试一下: awk 'BEGIN{FS=OFS=""}{$5=$1=$2=""}1' file 例如: kent$ cat file 12345678foo 12345678foo 12345678foo 12345678foo 12345678foo kent$ awk 'BEGIN{FS=OFS=""}{$5=$1=$2=""}1' file 34678foo 34678foo 34678foo 34678foo 34678foo 非常感谢你的努力 我试了第

查找字符串并将其替换为sed

我需要使用sed进行多文件查找并替换为无文件(删除)。我有一句话: <meta name="keywords" content="there could be anything here"> 因此,替换该行: <meta name="keywords" content="there could be anything here"> 我还需要对当前目录中和下的所有文件(递归地)执行此操作 提前谢谢 sed具有delete指令,请尝试使用 sed -e '/<met

Sed 不区分大小写的awk搜索命令

我有以下awk命令..我想将“问题修复”设置为不区分大小写,是否有人可以提供有关如何完成此操作的输入,我查看了,但这似乎对我不起作用 awk '/link|issue-Fixed:/{print $2}' foo.txt | sed 'N; y/\n/ /' 这可能适合您: awk '/link|[Ii][Ss][Ss][Uu][Ee]-[Ff][Ii][Xx][Ee][Dd]:/{print $2}' foo.txt | sed 'N; y/\n/ /'

Sed 如何按升序排列行

我有一个包含200个pdb文件的文件夹。我想根据第6列按升序排列pdb文件的atom行。我想为文件夹中的每个pdb文件进行适当的编辑。谢谢你的帮助 ATOM 81 N ASN A 248 38.791 -16.708 12.507 1.00 52.04 N ATOM 82 CA ASN A 248 39.443 -17.018 11.206 1.00 54.49 C ATOM 422 C

sed将字符串替换为特殊字符

我正在尝试替换文本文件中的特定字符串 输入: 计算机外围设备 互联网技术 信用证++ 输出: 购物 通用的 程序设计 当我尝试使用以下sed时: refcat="Computer Peripherals" cat1="Shopping" echo $list | sed -e 's@$refcat@$cat1@g' 我得到以下结果: 计算机 外围设备 互联网 技术 我在另一行上得到输出。有人能帮我吗??我的输入和输出值中可以有特殊字符(除了“|”或“@”)单引号不插入shell变量,因此更改为

Sed 如何删除第一次出现“之间的所有内容”&引用;最多到第一个空格/制表符?

我有一个包含许多行的文本文件,所有行的格式都相同。我想删除第一次出现“;”和第一个制表符或空格字符(制表符分隔,但可以是空格)之间的所有文本 该文件如下所示: Q5F5R2 Bacteria Q5F9Q8 Bacteria Q5F850 Bacteria Q5F851 Bacteria Q5F7X1;Q5F832;Q5822 Bacteria Q5F848 Bacteria Q5F847 Bacteria Q5FAF5 Bacteria Q5F881;Q9RF92 Bact

如何使用sed和feed xgettext遍历所有子目录

我使用这个控制台命令在目录中的所有PHP文件中进行替换。然后它向xgettext程序提供数据 sed "s/\/\/_/_/g" *.php | xgettext -o output.pot --language=PHP - --from-code=UTF-8 如何更改它以使sed遍历所有子目录中的所有PHP文件?您可以使用find或类似工具。sed无法在其上执行目录遍历own@FredrikPihl是的,我试过了,但没有成功。你能写一些代码吗?我可以,但你试过什么,什么不适合你呢?:-)@F

如何删除具有';的记录';在使用sed的文件中

如何删除文件中包含“?”的记录 输入文件数据 预期产量 或 如果您只需要一个“?”而不需要其他任何东西,请使用“^?$”而不仅仅是“?”似乎您想要将一个空格后跟一个?符号替换为一个单独的空行。如果是这样,请尝试下面的perl命令 perl -0777 -pe 's/\n\?\n//g' file 示例: $ perl -0777 -pe 's/\n\?\n//g' file 12345 Line1 34567 Line2 89101 Line3 sed '/?/d' yourfile

Sed 是否附加到每行的开头和结尾?

我正在编写一个创建HTML文件的sed脚本。我想在每一行的开头和结尾添加段落标记,但我不知道这是如何工作的 现在我有以下sed脚本: 1i\ <html>\ <head><title>sed generated html</title></head>\ <body>\ <pre> $a\ </pre>\ </body>\ </html> 1i\ <html>\ &

当源包含时如何替换为sed$

我有一个包含以下内容的文件: $conf['minified_version'] = 100; $conf['minified_version'] = @MINIFIED_VERSION@ 我想用sed增加100,所以我有: sed -r 's/(.*minified_version.*)([0-9]+)(.*)/echo "\1$((\2+1))\3"/ge' 问题是,这会将$conf与原始文件以及任何缩进间距一起剥离。我能理解的是,这是因为它试图运行: echo " $conf[

sed命令在ubuntu上不能正常工作

我有一个名为'config_3_setConfigPW.ldif'的文件?包含以下行: {pass} 在终端上,我使用了以下命令 SLAPPASSWD=Pwd&0011 sed -i "s@{pass}@$SLAPPASSWD@" config_3_setConfigPW.ldif 它应该将{pass}替换为Pwd&0011,但它会生成Pwd{pass}0011原因是SLAPPASSWD shell变量在sed看到它之前已展开。因此,塞德看到: sed -i "s@{pass}

在makefile中将包含变量名的字符串替换为sed

我想使用sed将Makefile中的字符串替换为另一个字符串: * old string: $(ISM_DEPTH)/obj/lib/mylib.a * new string: $(ENVIRONMENT_ROOT)/lib/ 所以,我用了这个命令: sed -e 's,$(ISM_DEPTH)/obj/lib/mylib.a,$(ENVIRONMENT_ROOT)/lib/,g' -i Makefile 问题是sed将用它们的值替换$(ISM\u DEPTH)和$(ENVIRONMENT\

带双引号和正则表达式的sed命令

我需要用变量值替换变量$DS_KEY。这可以工作,但无法识别正则表达式(*)。如果存在单个qoute,则正则表达式有效,但变量替换无效。有什么建议吗 sed -i "s/DS_PROP_KEYS :=.*/DS_PROP_KEYS := ds_props $DS_KEY/" 可应用此方法的示例: DS_PROP_KEYS := ds_props ('X1', 'X2', 'X3'); 请添加一个示例输入行,以便对其进行测试。这对我来说很有用:a='XYZ';回显'DS_PROP_key:=D

Sed gnu使用特殊字符删除模式匹配后的行部分

目标是使用sed仅返回FF扩展挖掘阻止程序每行的url,该程序将此格式用于其正则表达式行: {"baseurl":"*://002.0x1f4b0.com/*", "suburl":"*://*/002.0x1f4b0.com/*"}, {"baseurl":"*://003.0x1f4b0.com/*", "suburl":"*://*/003.0x1f4b0.com/*"}, 结果应该是: 002.0x1f4b0.com 003.0x1f4b0.com 一种方法是将所有内容保留在subu

用符号测试sed^

我测试了sed: rsa@rsa-VirtualBox:~$ echo GreenTea | sed 's/Green/Red/' RedTea rsa@rsa-VirtualBox:~$ echo GreenTea | sed 's/^Green/Red/' RedTea 这里的意思是什么 根据我的理解,^表示不包括,但它不能解释上述结果。在您提供的示例中,^表示以开头 echo GreenTea | sed 's/^Green/Red/' 这意味着用以绿色开头的行检查,并在此处用红色替换

  1    2   3   4   5   6  ... 下一页 最后一页 共 65 页