请问aix shell 中 我要将一个文件(几千行)第1000列到2000列中的|替换为空格,怎么做?

如题所述

下面的命令可以做到,同时备份原文件(假定文件名是 yourfile) 到 yourfile.bak

sed -i.bak -e '1000,2000s/|/ /g' yourfile追问

你好!请问为什么我用sed -e ‘1000,2000s/|/ /g' temp.add >temp1.add后不会报错,但是里面的|并没有替换,还是跟原来的文件一样?

追答

把你的 temp.add 贴上来

另外, 把 sed --version 的打印贴上来

还有问题,就baidu hi 联系我

另, 你到底是要替换 1000 列 还是 1000 行?

追问

真不好意思,昨天有事出去了。
我的文件是客户的信息,不方便贴出来,
我的操作系统是aix 5.3的,sed是volume 5,s - u的,
我还替换的是1000 列到2000列中出现的所有|线

追答

如果是替换列,那么就不能用上面的命令了,试一下下面的

awk '{p1=substr($0,1,999); p2=substr($0,1000,1000); p3=substr($0,2000); gsub("[|]", " ", p2); print p1 p2 p3}' temp.add > temp1.add

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜