linux下如何替换文件中每一行指定位置字符串
例如:把每一行中第5个字符开始至第10个字符替换成*号1111111111111111111112222222222222222222223333333333333333...
例如:把每一行中第5个字符开始至第10个字符替换成 * 号
111111111111111111111
222222222222222222222
333333333333333333333
444444444444444444444
替换后的结果
1111******11111111111
2222******22222222222
3333******33333333333
4444******44444444444 展开
111111111111111111111
222222222222222222222
333333333333333333333
444444444444444444444
替换后的结果
1111******11111111111
2222******22222222222
3333******33333333333
4444******44444444444 展开
1个回答
2019-07-09 · 知道合伙人IT服务行家
关注
展开全部
我这里使用的是代码截取的方式来输出的,既然你要删除的是第五个到第十个字符,那么我就取前四个,以及第10个以后的字符,然后再中间加上六个*号,就能拼接出所需要的字符串。代码如下:
for line in $(cat test.txt);
do
echo "${line:0:4}******${line:11}"
done
第一个变量${line:0:4}表示从一行第0个开始取,取4个,中间加上6个星号,第二个${line:11}变量表示从第11个开始取,一直取到最后一位。这样拼接起来就是你需要的内容了,如果想把这些内容重新输入到文件中,加上一个重定向就可以了,不知道我说清楚没有,希望可以帮助到你。
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 广告
2024-10-22 广告
百事牛是共享提供商,我们提供可靠有效的服务,适当合理的授权费有利于的继续更新优化。同样的事情,同样的方法,百事牛团队十年磨一剑,始终至聚焦在密码恢复领域,深耕于此,我们已研制出有别于其他公司的算法和运算模式, 百事牛的暴力模式加入了分布式点...
点击进入详情页
本回答由百事牛提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |