我有以下文字:
T h i s i s s o m e t e x t .
我需要的是以下内容:
This is some text.
结构遵循常规模式,因此我假设有一种方法可以使用shell命令执行必要的修改(也可以是某种类型的脚本)。我并不精通shell工具,所以我无法想出一些有用的东西..
提前致谢!
答案 0 :(得分:3)
使用sed,你可以这样做:
$ echo "$a"
T h i s i s s o m e t e x t .
$ sed 's/\(.\) /\1/g' <<< "$a"
This is some text.
答案 1 :(得分:3)
Perl救援:
perl -pe 's/ (?! )//g' -- input.txt
(?!
是一个&#34;负面预测断言&#34;,这意味着整个模式意味着一个空格后面没有空格 答案 2 :(得分:2)
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#_0">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>[removed]</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>[removed]</SignatureValue>
<KeyInfo>
<o:SecurityTokenReference>
<o:Reference URI="[removed]"/>
</o:SecurityTokenReference>
</KeyInfo>
</Signature>
</o:Security>
</s:Header>
<s:Body>
[removed]
</s:Body>
</s:Envelope>
或sed
变体是直接的方法。
以perl
变体为例。:
awk
答案 3 :(得分:2)
你可以使用这个基于单词边界的gnu sed:
s='T h i s i s s o m e t e x t .'
sed -E 's/\b( +\B| )//g' <<< "$s"
<强>输出:强>
This is some text.