我需要从行首删除空格,但是只有1/2,例如:
<div class="section" id="contact">
<div class="container">
<div class="col-md-12">
<h4>04</h4>
到
<div class="section" id="contact">
<div class="container">
<div class="col-md-12">
<h4>04</h4>
等
预先感谢您的任何建议。
答案 0 :(得分:2)
在sed中使用组
sed 's/^\([[:blank:]]\{1,\}\)\1/\1/' YourFile
如果确定空格而不是制表符,则可以使用空格代替[[:blank:]]
。
这样做:如果在开始时出现两次,则用该组替换一组空间,所以这是整个空间的一半
答案 1 :(得分:0)
您可以尝试Perl
perl -pe 's!(^\s+)!$x=length($1)/2;" " x $x!sme ' input_file
使用您给定的输入
$ cat stanislav.txt
<div class="section" id="contact">
<div class="container">
<div class="col-md-12">
<h4>04</h4>
$ perl -pe 's!(^\s+)!$x=length($1)/2;" " x $x!sme ' stanislav.txt
<div class="section" id="contact">
<div class="container">
<div class="col-md-12">
<h4>04</h4>
$
答案 2 :(得分:-1)
假设所有前导空白都是空白字符:
maven-bundle-plugin-2.5.5
如果没有,请首先通过$ awk 'match($0,/^ */){$0=sprintf("%*s%s", int(RLENGTH/2), "", substr($0,RLENGTH+1))} 1' file
<div class="section" id="contact">
<div class="container">
<div class="col-md-12">
<h4>04</h4>
运行文件。