test.sed:
#!/bin/sed -Ef
/^(1|\+1)\(([0-9]{3})\)(555)-([0-9]{4})/d
/^\(([0-9]{3})\)(555)-([0-9]{4})/d
file.txt的:
(123)456-7890
1(123)456-7890
+1(123)456-7890
(123)555-7890
1(123)555-7890
+1(123)555-7890
(416)736-5053
1(416)736-2100
+1(416)736-2100
当前输出:
(123)456-7890
1(123)456-7890
+1(123)456-7890
(416)736-5053
1(416)736-2100
+1(416)736-2100
预期输出:
(123)555-7890
1(123)555-7890
+1(123)555-7890
您好。我想要如上所述的预期输出,这只是在当前输出中没有拾取3个句子。
有没有办法通过-Ef标志来做到这一点?你可以添加更多标志,但我无法删除这些标志。
我尝试过以下操作,但没有效果:
/^(1|\+1)\(([0-9]{3})\)(555)-([0-9]{4})/p
/^\(([0-9]{3})\)(555)-([0-9]{4})/p
答案 0 :(得分:1)
使用以下方法:
<强> test.sed:强>
#!/bin/sed -Ef
/\([0-9]{3}\)555-[0-9]{4}/!d
命令:
sed -Ef test.sed file.txt
输出:
(123)555-7890
1(123)555-7890
+1(123)555-7890