这是我的输出:
<activity>
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
如何将输出对齐相同的结构? (活动标签块左对齐)
注意:开头有不同的空格和标签。
非常感谢!
答案 0 :(得分:0)
通过输出输出:
sed -r 's/^\s*//'
^
匹配行的开头。 \s
匹配空格字符,*
表示连续匹配任意数量的字符。
答案 1 :(得分:0)
要从每行的开头删除三个空格,您可以使用:
sed 's/^ \{3\}//' file # or
sed -r 's/^ {3}//' file
答案 2 :(得分:0)
也许你想要:
file="somefile.xml"
spaces=$(sed -n "/<activity>/s/^\( *\)<.*/\1/p" $file)
sed "/<activity>/,/<\/activity>/s/^ */$spaces/" $file
这是下一个文件
<other>
<some>
</some>
<activity>
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
<other2>
<some>
</other2>
</other>
产生
<other>
<some>
</some>
<activity>
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
<other2>
<some>
</other2>
</other>