linux下如何替换文件中每一行指定位置字符串

例如:把每一行中第5个字符开始至第10个字符替换成*号1111111111111111111112222222222222222222223333333333333333... 例如:把每一行中第5个字符开始至第10个字符替换成 * 号
111111111111111111111
222222222222222222222
333333333333333333333
444444444444444444444

替换后的结果
1111******11111111111
2222******22222222222
3333******33333333333
4444******44444444444
展开
 我来答
小灰灰啊
2019-07-09 · 知道合伙人IT服务行家
小灰灰啊
知道合伙人IT服务行家
采纳数:116 获赞数:284
资深运维工程师,熟悉Linux、Python、Shell

向TA提问 私信TA
展开全部
我这里使用的是代码截取的方式来输出的,既然你要删除的是第五个到第十个字符,那么我就取前四个,以及第10个以后的字符,然后再中间加上六个*号,就能拼接出所需要的字符串。代码如下:
for line in $(cat test.txt);
do
echo "${line:0:4}******${line:11}"
done
第一个变量${line:0:4}表示从一行第0个开始取,取4个,中间加上6个星号,第二个${line:11}变量表示从第11个开始取,一直取到最后一位。这样拼接起来就是你需要的内容了,如果想把这些内容重新输入到文件中,加上一个重定向就可以了,不知道我说清楚没有,希望可以帮助到你。
追问

我这个后边还有好多数据,想达到的效果如图所示,刚用您的方法,对于前边没有空格的适用,这个样子的乱了,请赐教

百事牛
2024-10-22 广告
百事牛是共享提供商,我们提供可靠有效的服务,适当合理的授权费有利于的继续更新优化。同样的事情,同样的方法,百事牛团队十年磨一剑,始终至聚焦在密码恢复领域,深耕于此,我们已研制出有别于其他公司的算法和运算模式, 百事牛的暴力模式加入了分布式点... 点击进入详情页
本回答由百事牛提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式