我需要替换文件每行中的特定字符范围。
我试过这个
perl -i -pe 'r77,79c/XXX/g' file
我正在尝试使用Perl将第77个字符更改为XXX
,但上面的代码无效。
答案 0 :(得分:2)
你想用XXX替换位置[77-79]的字符吗?
试
perl -i -piorig_* -e "substr($_,76,3)=XXX" file
将创建一个名为orig_file的备份文件,以防止可能的数据损失..
答案 1 :(得分:1)
perl -i -pe 's/.{76}\K.../XXX/' file
答案 2 :(得分:1)
您写道:
Actually i want to search a pattern in a file and whatever lines matching that pattern needs to be replaced to 50th & 51st character to XX
使用sed:
sed -r '/pattern/s/^(.{49})..(.*)$/\1XX\2/' file
答案 3 :(得分:0)
sed "/pattern/ s/^\(.\{49\}\)../\1XX/" YourFile
我们不接触结束