Perl 搜索和替换

use*_*101 5 replace awk perl sed

如何使用搜索和替换来更改文件的内容。

我需要能够更改“全部为无”和/或“全部为无”,而不必每次都手动执行数百行。

下面是一个示例文本文件,右边是行号。我已经知道如何打开和关闭文件以进行写入。

线

1define_filter absolute_minimal_filter ------- all
2 define_filter atma_basic_filter -------- ----- none
3define_filter atma_communication_filter -- all
4 define_filter atma_health_filter -------------无
5 define_filter atma_misc_filter --------------- 所有
6 define_filter atma_performance_filter ---- 无
7 define_filter atma_supplemental_filter ---- 无

Den*_*son 2

用精心选择的字符串代替“temp”(在两个地方):

sed 's/all/temp/g;s/none/all/g; s/temp/none/g' input_file > output_file
Run Code Online (Sandbox Code Playgroud)

或者如果“all”和“none”从不出现在同一行并且总是结束该行,则不使用临时字符串:

sed 's/all$/none/;t;s/none$/all/' input_file > output_file
Run Code Online (Sandbox Code Playgroud)