Linux的shell 如何在每一行的特定符号前面插入指定数量的空格?

读取一个文件 在这个文件的每一行的;符号之前插入指定数量的空格
cat $name | while read line
do

这里要怎么做?

目的是让每个;都能对齐 在同一行开始 (如果;之前没有任何内容 则不做任何改变)
例子:
;abc
;abc
abcde ;abc 这行在;之前的长度是最长的
;abc
;cba

改变后:
;abc 这两行不做改变
;abc
abcde ;abc 这三行进行对齐
;abc
;cba
我已经找出;之前最长的一行的长度 也就是"abcde "的长度 假设这个长度是L, 如何用这个数字 通过数学运算 减去其它行里;之前的长度 并将这个数量的空格插入在其他行里的;之前 从而达到对齐的目的?

或者有什么更好的方法?

第1个回答  2014-12-02
这个直接用vim底行模式就可以搞定
第2个回答  2014-11-30
使用sed命令进行修改。
上面的数据太乱了, 能否看一下网名, 然后帮助解决追问

我加一下你QQ吧

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网