我想从nix shell运行一个衬里来替换任意“开始”和“完成”之间包含的所有特定文本,例如在
nfw987__qrh fwef_start_hf9
832j fsjdlkfa;jd(&6^)lf dfs
ahlkj;fd__sajhfds
dsfahs__lkjfdsaf jlkfdsa_finish_jfoi__edwp
用__
替换_start_
和_finish_
之间的所有()
。
我尝试过网络搜索,但我找到的只是“简单”替换。我正在写一个代码来做到这一点,但也许恕我直言的常见任务已经用sed,perl,awk等解决了。
根据al76链接,sed
可以很容易地用于这种情况(文本也在开始和结束行上被替换,无论该行文本在哪里,都不能完全回答我的问题,但对于我当前的任务就足够了):
为了解决两个正则表达式RE1和RE2之间的界限,可以这样做:'/ RE1 /,/ RE2 / {commands;}'
sed '/_start_/,/_finish_/{s/__/\(\)/g}' tst2.txt