bash - 从末端分割线(跨平台)
问题描述
我有需要拆分的文本;即,在行尾的两个字符后放置空格。从“ 4.20GB ”你需要得到“ 4.20GB ”。我知道它可以用sed
,awk
等来完成,但我正在寻找一种轻便且更跨平台的方法(适用于 Linux/Unix/BSD)。
bash
有可能用它的功能来做吗?出于某种原因,我认为printf
可以做到,但快速检查并没有产生任何积极的结果。
解决方案
如果我理解正确,每行以一些数字结尾,后面跟着 GB,需要你在 GB 之前添加一个空格。我不应该使用分裂这个词来暗示你想把一行分成两行。
尝试:
sed -i 's/GB$/ GB/' [filenames ...]
我认为这sed
比 更“跨平台” ,因为正如@fuxoft 在他的回答中所说,bash
无论您拥有什么bash
,您都可以轻松拥有。sed