我的xml文件就像这样
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="* Please enter Username" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="eQB-cs-m5N">
使用sed我试图将文本提取为
sed -n 's/.*text="\([^\"]*\)/\1/p' KHLLoginController.xml
我试图在搜索text =&#34之后匹配模式;直到遇到第一个双引号(&#34;)
而不是所需的输出是&#34; *请输入用户名&#34;
我得到的整行包含上述模式
答案 0 :(得分:1)
试试这个
sed -n 's/.*text=\("\([^\"]*\)"\).*/\1/p' KHLLoginController.xml
For Power Shell
$input_path = ‘d:\input.txt’
$output_file = ‘d:\output.txt’
$regex = ‘(text=)("([^"]|"")*")’
select-string -Path $input_path -Pattern $regex -AllMatches | % { $_.Matches } | % { $_.Value } > $output_file
答案 1 :(得分:0)
sed 's/.*text="\([^\"]*\).*/\1/' filename
-n
和p
没有必要