Articles of sed

sed找不到明显存在的文件

我运行以下命令,注释掉所有包含文本“dlclose”的行 grep -lIR "dlclose" . | grep -v ".svn" | xargs sed -i "s/.*dlclose.*/\/\/&/g" 但是,sed声称pipe道文件不存在: sed: can't read ./Utilities/src/DynLib.cpp: No such file or directory 这没有任何意义,因为grep能够find并pipe道文件名。 这里发生了什么? 它是否以错误的格式pipe道? 另外,作为一个便笺,我想合并两个greps,但是我不得不使用grep 2.5.1,它没有exclude-dir

邮件合并像sed(或类似的操作)

我想要执行以下操作: 给定一个像这样的文件: update FOO set STATUS="X" where ID=<REPLACE>; insert into BAR (Z,W) values(<REPLACE>, 42); 像这样的文件: 25478975 65897895 给我一个文件,在第一个文件的第一个文件中插入第二个文件中的<REPLACE>位置,如下所示: update FOO set STATUS="X" where ID=25478975; insert into BAR (Z,W) values(25478975, 42); update FOO set STATUS="X" where ID=65897895; insert into BAR (Z,W) values(65897895, 42); 编写一个简单的Python程序来完成这个任务可能不需要太长的时间,但是我强烈地怀疑我可以通过正确的方式组合一些GNU / Linux命令行工具。 任何人都可以告诉我如何?

与几场比赛sed

两个“sed行”只有以下的“\ n”不同。 我怎样才能得到这个输出[在</pre>之前没有新行]? [ http://pastebin.com/raw.php?i=ED34jvtF ]: . . something3 </pre> something4 . . $ echo -e 'something1\nsomething2\nsomething3\n\n</pre>\nsomething4\nsomething5'; echo "######################################"; echo -e 'something1\nsomething2\nsomething3\n\n</pre>\nsomething4\nsomething5' | sed -e N -e N -e "s#\n</pre>#</pre>#g" -e P -e D something1 something2 something3 </pre> something4 something5 ###################################### something1 something2 something3</pre> something4 something5 $ $ echo -e 'something1\nsomething2\nsomething3\n\n</pre>\nsomething4\nsomething5' | sed -e N […]

使用SED更新带阻止IP地址的.htaccess

我有一个文件,有一个“坏”的IP地址列表。 我想导入这个不好的IP地址文件到我的.htaccess文件拒绝访问通过Apache。 我想使用sed自动化这个过程。 我怎么去做这个?

使用Find,Grep,Awk或Sed来克隆后重命名服务器

我的客户告诉我他们已经在Ubuntu Linux服务器的VMWare中克隆了一个虚拟机。 现在,我的工作是进入所有的文件,并找出还有什么旧的服务器名称“主教”,并将其改为别的。 此外,IP地址已更改,我也需要search。 你通常如何使用find,grep,awk或sed来查找这些文件,然后迅速更改它们? 最后,我想制作一个Bash脚本。 当然,我不希望你告诉我每一个文件,但只是想知道find“X”文件的技术,然后用“Y”快速切换。

sed:将新行添加到文件末尾没有文件的每个文件

我无数 警告:文件结尾处没有换行符 从Windows上最后编辑的一些代码。 在Linux中,如何修复所有这些cpp / h文件,并在没有新行的每个文件的末尾添加新行? 我一直在尝试使用sed: find . \( -name "*.cpp" -o -name "*.h" -o -name "*.hpp" \) -print | xargs sed -i -e "$G" 但是我还没有得到它的工作。

如果匹配关键字,则recursion地更改文件的名称和文件内的内容

我可以使用sed来recursion​​地查找和replace一堆文件中的string。 像这样: find -name "*.py" -not \( -name .svn -prune \) -type f -print0 | xargs -0 sed -i 's/cat/dog/g' 然而,有没有办法在文件和实际文件名中searchstring? 如果在文件名中find该string,则用新stringreplace文件名中的string。 如果实际文件中的string,则用新stringreplacestring。 当然,要recursionsearch。 有任何想法吗?

我想从程序的输出中滤出两行

我有一个输出一堆数据的命令,但我只需要两行。 Grep不起作用,因为我想要的行不是紧挨着。 我似乎无法弄清楚… 请帮助。 🙂 示例输出: Schedule: blabla: blabla: blabla: blabla: blabla: blabla: Something Level: blabla: blabla: blabla: 我想要这些行: Schedule: Something Level: 这个输出通过不同的服务器重复,输出是不一样的。 所以我需要一遍又一遍地search一个两样东西的模式。

如何在sed中replace特定的行位置?

我需要能够使用sed(或其他任何东西)来replace特定的行位置,我是Googleing,并且找不到任何东西(还)。 *更新* 这是我到目前为止.. sed 's|\(^.\{67\}\).\{1\}||g' $$ 但是这从一开始就删除了67 + 1的位置,我只想把位置67 + 1去掉。

如何使用sed获取文件中var的值

我想对此:文件箱: VAR_1|VALU_1 VAR_2|VALU_2 VAR_3|VALU_31 VALU_31 VALU_33 VAR_4|VALU_4 VAR_5|VALU_5 VAR_6|VALU_61 VALU_62 VAR_7|VALU_7 ….. 我怎样才能得到一个string的值与sed或其他? 我尝试: sed -n '/^VAR_3|*/,/^[A-Z_]+/{;p}' 谢谢你的帮助。