Linux的shell 如何在每一行的特定符号前面插入指定数量的空格? 90
读取一个文件在这个文件的每一行的;符号之前插入指定数量的空格cat$name|whilereadlinedo这里要怎么做?目的是让每个;都能对齐在同一行开始(如果;之前没...
读取一个文件 在这个文件的每一行的;符号之前插入指定数量的空格
cat $name | while read line
do
这里要怎么做?
目的是让每个;都能对齐 在同一行开始 (如果;之前没有任何内容 则不做任何改变)
例子:
;abc
;abc
abcde ;abc 这行在;之前的长度是最长的
;abc
;cba
改变后:
;abc 这两行不做改变
;abc
abcde ;abc 这三行进行对齐
;abc
;cba
我已经找出;之前最长的一行的长度 也就是"abcde "的长度 假设这个长度是L, 如何用这个数字 通过数学运算 减去其它行里;之前的长度 并将这个数量的空格插入在其他行里的;之前 从而达到对齐的目的?
或者有什么更好的方法? 展开
cat $name | while read line
do
这里要怎么做?
目的是让每个;都能对齐 在同一行开始 (如果;之前没有任何内容 则不做任何改变)
例子:
;abc
;abc
abcde ;abc 这行在;之前的长度是最长的
;abc
;cba
改变后:
;abc 这两行不做改变
;abc
abcde ;abc 这三行进行对齐
;abc
;cba
我已经找出;之前最长的一行的长度 也就是"abcde "的长度 假设这个长度是L, 如何用这个数字 通过数学运算 减去其它行里;之前的长度 并将这个数量的空格插入在其他行里的;之前 从而达到对齐的目的?
或者有什么更好的方法? 展开
2个回答
展开全部
这个直接用vim底行模式就可以搞定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用sed命令进行修改。
上面的数据太乱了, 能否看一下网名, 然后帮助解决
上面的数据太乱了, 能否看一下网名, 然后帮助解决
追问
我加一下你QQ吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询