在vim中手动编辑文件相当繁琐,如果可以的话,我想简化它:)
问题是,我希望有一个脚本来删除所选项目,如果它有一个分隔符也可以删除它。
它用" |"分开。或者","或不。
./ remove-text test.com
test.com|test3.org|filename.co.uk|files.qwe|loop.zya|....
test3.org,filename.co.uk,test.com,files.qwe,loop.zya,...
test3.org,filename.co.uk,test.com##[mode;]
filename.co.uk,files.qwe,loop.zya##["test.com"]
test.com##[mode2;]
会变成:
test3.org|filename.co.uk|files.qwe|loop.zya|....
test3.org,filename.co.uk,files.qwe,loop.zya,...
test3.org,filename.co.uk##[mode;]
filename.co.uk,files.qwe,loop.zya##["test.com"]
请注意;试图避免需要制作备份/临时文件并直接编辑文件。
答案 0 :(得分:-1)
请试试这个:
while(<DATA>)
{
($line .= $_)=~s/([\|\,\s]*)(?:test\.com|[a-z]+\-\[a-z]+)\b([\|\,\s]*)/$1$2/g;
}
print $line;
__DATA__
test.com|test3.org|filename.co.uk|files.qwe|loop.zya|....
test3.org,filename-co.uk,test.com,files.qwe,loop.zya,...
test3.org,filename.co.uk,test.com##[mode;]
filename.co.uk,files.qwe,loop-zya##["test.com"]
test.com##[mode2;]
明确使用use strict
和use warnings
。