电脑技术学习

UNIX 新手指南,第 3 部分:正则表达式

dn001

  为便于将来参考,可以捕获输出或将其发送到某个新文件。例如,若要将输出发送到 sed_new.txt,可以运行以下命令:

sed s/logfile/logfile.txt/ sed.txt > sed_new.txt

  反斜杠

  在学习使用斜杠的同时,还有另一个非常重要的特殊字符需要学习。反斜杠 () 称为转义字符,因为它对正则表达式解释中的下一个字符进行转义。更简单的是,将一个反斜杠放在特殊字符前,将使该字符成为普通项而不是命令项。这非常重要,因为许多文件(尤其是在编写代码的时候)广泛利用了与用于执行正则表达式的字符相同的字符。在您的 sed.txt 文件中,您会注意到美元符号的使用。如果您希望替换 $project 而不替换 project,则需要在搜索和替换中使用转义字符:

sed s/$project/$project_name/ sed.txt

  您可以在输出中看到 $project 被更改了,但是 project 没有被更改。

system "echo 'project:$project_name' >> logfile";
system "echo 'version:$version' >> logfile";
system "echo 'optionalid:$optionalid' >> logfile";
system "echo 'nodes:$nodes' >> logfile";
system "echo 'threads:$threads' >> logfile";

  更改某个项的多个实例

  这引入了 sed 中的另一个重要功能。如果您希望同时更改 project 的两个实例,该怎么办呢?通过到目前为止已学到的知识,合理的回答是只需使用 project 作为正则表达式,但是此回答并不是非常正确。下面将继续并进行尝试,以便能够演示和解释该过程:

标签: