我从选择框中复制HTML,并尝试找出一种快速删除HTML的方法,因此我留下了一个名单列表。一般来说,它不是问题,但它们具有独特的价值。我更喜欢使用像grep,sed,awk或vi这样的程序。现在我必须手动完成并编辑每一行。任何帮助都会很棒,谢谢!
<option value="DL_54292">(DL)finance</option>
<option value="DL_54274">(DL)sales</option>
<option value="510496">Ben Smith</option
<option value="510507">Christopher Jones</option>
<option value="510513">Dawn James</option>
<option value="510533">Joe Wilson</option>
<option value="551825">Mark Jackson</option>
<option value="510562">Ronnie Libby</option>
编辑:Fede。建议的输出格式。
尝试获取简单的文本列表,使用换行符或回车符。
finance sales Ben Smith Christopher Jones Dawn James Joe Wilson Mark Jackson Ronnie Libby
答案 0 :(得分:1)
使用grep获取标签之间的文本
$ grep -oP '(?<=>)[^<>]+' file
(DL)finance
(DL)sales
Ben Smith
Christopher Jones
Dawn James
Joe Wilson
Mark Jackson
Ronnie Libby
答案 1 :(得分:1)
由于你提到了vi,你可以使用这一行
:%s_^<option value=".*">\(.*\)</option>$_\1_gi
%s -> substitute in all the file
^ -> start of line
.* -> any characters
\(.*\) -> any characters, remember those.
$ -> end of line
\1 -> first remembered match
gi -> ingnore case and take all matches in line
_ -> substitution separator
:s是搜索和替换,s_foo_bar用当前行中的bar替换foo
答案 2 :(得分:1)
awk
可以执行此操作:
awk -F"<|>" '{print $3}'
(DL)finance
(DL)sales
Ben Smith
Christopher Jones
Dawn James
Joe Wilson
Mark Jackson
Ronnie Libby
如果我的输出请求是真的,括号中的数据也应该消失:
awk -F"<|>" '{sub(/[^)]*)/,"",$3);print $3}'
finance
sales
Ben Smith
Christopher Jones
Dawn James
Joe Wilson
Mark Jackson
Ronnie Libby
答案 3 :(得分:0)
如果您不介意使用Notepad ++,那么您可以使用此正则表达式:
.*>(.*)<.*
并替换为\1