【发布时间】:2014-05-20 13:06:58
【问题描述】:
这个让我发疯。尝试使用 perl 进行命令行搜索/替换。本质上,我想删除所有不以 XLS(X) 结尾的文件路径,但它们必须以字符串 NATIVE 开头。提前致谢!
命令
cat test.txt | perl -ne 's/"(?!NATIVE[^"]+XLSX?)"/""/g; print;'
test.txt
"Blah","NATIVE/001/FOO.XLS","Blah"
"Blah","NATIVE/001/BAR.XLSX","Blah"
"Blah","NATIVE/001/FOO.DOC","Blah"
"Blah","NATIVE/001/FOO.PPT","Blah"
"Blah","NATIVE/001/FOO.PPTX","Blah"
"Blah","NATIVE/001/FOO.PNG","Blah"
预期输出
"Blah","NATIVE/001/FOO.XLS","Blah"
"Blah","NATIVE/001/BAR.XLSX","Blah"
"Blah","","Blah"
"Blah","","Blah"
"Blah","","Blah"
"Blah","","Blah"
实际输出
"Blah","NATIVE/001/FOO.XLS","Blah"
"Blah","NATIVE/001/BAR.XLSX","Blah"
"Blah","NATIVE/001/FOO.DOC","Blah"
"Blah","NATIVE/001/FOO.PPT","Blah"
"Blah","NATIVE/001/FOO.PPTX","Blah"
"Blah","NATIVE/001/FOO.PNG","Blah"
【问题讨论】: